;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.6.0 #4309 (Jul 28 2006)
; This file generated Tue Apr 05 22:14:22 2011
;--------------------------------------------------------
	.module main
	.optsdcc -mmcs51 --model-large
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl _main
	.globl _int0_ISR
	.globl _readIox
	.globl _ioxPrintData
	.globl _ioxPrintIo
	.globl _writeIox
	.globl __sdcc_external_startup
	.globl _TF1
	.globl _TR1
	.globl _TF0
	.globl _TR0
	.globl _IE1
	.globl _IT1
	.globl _IE0
	.globl _IT0
	.globl _SM0
	.globl _SM1
	.globl _SM2
	.globl _REN
	.globl _TB8
	.globl _RB8
	.globl _TI
	.globl _RI
	.globl _CY
	.globl _AC
	.globl _F0
	.globl _RS1
	.globl _RS0
	.globl _OV
	.globl _F1
	.globl _P
	.globl _RD
	.globl _WR
	.globl _T1
	.globl _T0
	.globl _INT1
	.globl _INT0
	.globl _TXD0
	.globl _TXD
	.globl _RXD0
	.globl _RXD
	.globl _P3_7
	.globl _P3_6
	.globl _P3_5
	.globl _P3_4
	.globl _P3_3
	.globl _P3_2
	.globl _P3_1
	.globl _P3_0
	.globl _P2_7
	.globl _P2_6
	.globl _P2_5
	.globl _P2_4
	.globl _P2_3
	.globl _P2_2
	.globl _P2_1
	.globl _P2_0
	.globl _P1_7
	.globl _P1_6
	.globl _P1_5
	.globl _P1_4
	.globl _P1_3
	.globl _P1_2
	.globl _P1_1
	.globl _P1_0
	.globl _P0_7
	.globl _P0_6
	.globl _P0_5
	.globl _P0_4
	.globl _P0_3
	.globl _P0_2
	.globl _P0_1
	.globl _P0_0
	.globl _PS
	.globl _PT1
	.globl _PX1
	.globl _PT0
	.globl _PX0
	.globl _EA
	.globl _ES
	.globl _ET1
	.globl _EX1
	.globl _ET0
	.globl _EX0
	.globl _BREG_F7
	.globl _BREG_F6
	.globl _BREG_F5
	.globl _BREG_F4
	.globl _BREG_F3
	.globl _BREG_F2
	.globl _BREG_F1
	.globl _BREG_F0
	.globl _P5_7
	.globl _P5_6
	.globl _P5_5
	.globl _P5_4
	.globl _P5_3
	.globl _P5_2
	.globl _P5_1
	.globl _P5_0
	.globl _P4_7
	.globl _P4_6
	.globl _P4_5
	.globl _P4_4
	.globl _P4_3
	.globl _P4_2
	.globl _P4_1
	.globl _P4_0
	.globl _PX0L
	.globl _PT0L
	.globl _PX1L
	.globl _PT1L
	.globl _PLS
	.globl _PT2L
	.globl _PPCL
	.globl _EC
	.globl _CCF0
	.globl _CCF1
	.globl _CCF2
	.globl _CCF3
	.globl _CCF4
	.globl _CR
	.globl _CF
	.globl _TF2
	.globl _EXF2
	.globl _RCLK
	.globl _TCLK
	.globl _EXEN2
	.globl _TR2
	.globl _C_T2
	.globl _CP_RL2
	.globl _T2CON_7
	.globl _T2CON_6
	.globl _T2CON_5
	.globl _T2CON_4
	.globl _T2CON_3
	.globl _T2CON_2
	.globl _T2CON_1
	.globl _T2CON_0
	.globl _PT2
	.globl _ET2
	.globl _TMOD
	.globl _TL1
	.globl _TL0
	.globl _TH1
	.globl _TH0
	.globl _TCON
	.globl _SP
	.globl _SCON
	.globl _SBUF0
	.globl _SBUF
	.globl _PSW
	.globl _PCON
	.globl _P3
	.globl _P2
	.globl _P1
	.globl _P0
	.globl _IP
	.globl _IE
	.globl _DP0L
	.globl _DPL
	.globl _DP0H
	.globl _DPH
	.globl _B
	.globl _ACC
	.globl _EECON
	.globl _KBF
	.globl _KBE
	.globl _KBLS
	.globl _BRL
	.globl _BDRCON
	.globl _T2MOD
	.globl _SPDAT
	.globl _SPSTA
	.globl _SPCON
	.globl _SADEN
	.globl _SADDR
	.globl _WDTPRG
	.globl _WDTRST
	.globl _P5
	.globl _P4
	.globl _IPH1
	.globl _IPL1
	.globl _IPH0
	.globl _IPL0
	.globl _IEN1
	.globl _IEN0
	.globl _CMOD
	.globl _CL
	.globl _CH
	.globl _CCON
	.globl _CCAPM4
	.globl _CCAPM3
	.globl _CCAPM2
	.globl _CCAPM1
	.globl _CCAPM0
	.globl _CCAP4L
	.globl _CCAP3L
	.globl _CCAP2L
	.globl _CCAP1L
	.globl _CCAP0L
	.globl _CCAP4H
	.globl _CCAP3H
	.globl _CCAP2H
	.globl _CCAP1H
	.globl _CCAP0H
	.globl _CKCKON1
	.globl _CKCKON0
	.globl _CKRL
	.globl _AUXR1
	.globl _AUXR
	.globl _TH2
	.globl _TL2
	.globl _RCAP2H
	.globl _RCAP2L
	.globl _T2CON
	.globl _g_ioxData
	.globl _f_intRecvd
	.globl _getInput_PARM_5
	.globl _getInput_PARM_4
	.globl _getInput_PARM_3
	.globl _getInput_PARM_2
	.globl _putchar
	.globl _getchar
	.globl _putstr
	.globl _getstr
	.globl _serialInit
	.globl _initAll
	.globl _clearScr
	.globl _myDelay
	.globl _hexalpha_to_int
	.globl _htoi
	.globl _menuInvalid
	.globl _printMenu
	.globl _getInput
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (DATA)
G$T2CON$0$0 == 0x00c8
_T2CON	=	0x00c8
G$RCAP2L$0$0 == 0x00ca
_RCAP2L	=	0x00ca
G$RCAP2H$0$0 == 0x00cb
_RCAP2H	=	0x00cb
G$TL2$0$0 == 0x00cc
_TL2	=	0x00cc
G$TH2$0$0 == 0x00cd
_TH2	=	0x00cd
G$AUXR$0$0 == 0x008e
_AUXR	=	0x008e
G$AUXR1$0$0 == 0x00a2
_AUXR1	=	0x00a2
G$CKRL$0$0 == 0x0097
_CKRL	=	0x0097
G$CKCKON0$0$0 == 0x008f
_CKCKON0	=	0x008f
G$CKCKON1$0$0 == 0x008f
_CKCKON1	=	0x008f
G$CCAP0H$0$0 == 0x00fa
_CCAP0H	=	0x00fa
G$CCAP1H$0$0 == 0x00fb
_CCAP1H	=	0x00fb
G$CCAP2H$0$0 == 0x00fc
_CCAP2H	=	0x00fc
G$CCAP3H$0$0 == 0x00fd
_CCAP3H	=	0x00fd
G$CCAP4H$0$0 == 0x00fe
_CCAP4H	=	0x00fe
G$CCAP0L$0$0 == 0x00ea
_CCAP0L	=	0x00ea
G$CCAP1L$0$0 == 0x00eb
_CCAP1L	=	0x00eb
G$CCAP2L$0$0 == 0x00ec
_CCAP2L	=	0x00ec
G$CCAP3L$0$0 == 0x00ed
_CCAP3L	=	0x00ed
G$CCAP4L$0$0 == 0x00ee
_CCAP4L	=	0x00ee
G$CCAPM0$0$0 == 0x00da
_CCAPM0	=	0x00da
G$CCAPM1$0$0 == 0x00db
_CCAPM1	=	0x00db
G$CCAPM2$0$0 == 0x00dc
_CCAPM2	=	0x00dc
G$CCAPM3$0$0 == 0x00dd
_CCAPM3	=	0x00dd
G$CCAPM4$0$0 == 0x00de
_CCAPM4	=	0x00de
G$CCON$0$0 == 0x00d8
_CCON	=	0x00d8
G$CH$0$0 == 0x00f9
_CH	=	0x00f9
G$CL$0$0 == 0x00e9
_CL	=	0x00e9
G$CMOD$0$0 == 0x00d9
_CMOD	=	0x00d9
G$IEN0$0$0 == 0x00a8
_IEN0	=	0x00a8
G$IEN1$0$0 == 0x00b1
_IEN1	=	0x00b1
G$IPL0$0$0 == 0x00b8
_IPL0	=	0x00b8
G$IPH0$0$0 == 0x00b7
_IPH0	=	0x00b7
G$IPL1$0$0 == 0x00b2
_IPL1	=	0x00b2
G$IPH1$0$0 == 0x00b3
_IPH1	=	0x00b3
G$P4$0$0 == 0x00c0
_P4	=	0x00c0
G$P5$0$0 == 0x00d8
_P5	=	0x00d8
G$WDTRST$0$0 == 0x00a6
_WDTRST	=	0x00a6
G$WDTPRG$0$0 == 0x00a7
_WDTPRG	=	0x00a7
G$SADDR$0$0 == 0x00a9
_SADDR	=	0x00a9
G$SADEN$0$0 == 0x00b9
_SADEN	=	0x00b9
G$SPCON$0$0 == 0x00c3
_SPCON	=	0x00c3
G$SPSTA$0$0 == 0x00c4
_SPSTA	=	0x00c4
G$SPDAT$0$0 == 0x00c5
_SPDAT	=	0x00c5
G$T2MOD$0$0 == 0x00c9
_T2MOD	=	0x00c9
G$BDRCON$0$0 == 0x009b
_BDRCON	=	0x009b
G$BRL$0$0 == 0x009a
_BRL	=	0x009a
G$KBLS$0$0 == 0x009c
_KBLS	=	0x009c
G$KBE$0$0 == 0x009d
_KBE	=	0x009d
G$KBF$0$0 == 0x009e
_KBF	=	0x009e
G$EECON$0$0 == 0x00d2
_EECON	=	0x00d2
G$ACC$0$0 == 0x00e0
_ACC	=	0x00e0
G$B$0$0 == 0x00f0
_B	=	0x00f0
G$DPH$0$0 == 0x0083
_DPH	=	0x0083
G$DP0H$0$0 == 0x0083
_DP0H	=	0x0083
G$DPL$0$0 == 0x0082
_DPL	=	0x0082
G$DP0L$0$0 == 0x0082
_DP0L	=	0x0082
G$IE$0$0 == 0x00a8
_IE	=	0x00a8
G$IP$0$0 == 0x00b8
_IP	=	0x00b8
G$P0$0$0 == 0x0080
_P0	=	0x0080
G$P1$0$0 == 0x0090
_P1	=	0x0090
G$P2$0$0 == 0x00a0
_P2	=	0x00a0
G$P3$0$0 == 0x00b0
_P3	=	0x00b0
G$PCON$0$0 == 0x0087
_PCON	=	0x0087
G$PSW$0$0 == 0x00d0
_PSW	=	0x00d0
G$SBUF$0$0 == 0x0099
_SBUF	=	0x0099
G$SBUF0$0$0 == 0x0099
_SBUF0	=	0x0099
G$SCON$0$0 == 0x0098
_SCON	=	0x0098
G$SP$0$0 == 0x0081
_SP	=	0x0081
G$TCON$0$0 == 0x0088
_TCON	=	0x0088
G$TH0$0$0 == 0x008c
_TH0	=	0x008c
G$TH1$0$0 == 0x008d
_TH1	=	0x008d
G$TL0$0$0 == 0x008a
_TL0	=	0x008a
G$TL1$0$0 == 0x008b
_TL1	=	0x008b
G$TMOD$0$0 == 0x0089
_TMOD	=	0x0089
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
	.area RSEG    (DATA)
G$ET2$0$0 == 0x00ad
_ET2	=	0x00ad
G$PT2$0$0 == 0x00bd
_PT2	=	0x00bd
G$T2CON_0$0$0 == 0x00c8
_T2CON_0	=	0x00c8
G$T2CON_1$0$0 == 0x00c9
_T2CON_1	=	0x00c9
G$T2CON_2$0$0 == 0x00ca
_T2CON_2	=	0x00ca
G$T2CON_3$0$0 == 0x00cb
_T2CON_3	=	0x00cb
G$T2CON_4$0$0 == 0x00cc
_T2CON_4	=	0x00cc
G$T2CON_5$0$0 == 0x00cd
_T2CON_5	=	0x00cd
G$T2CON_6$0$0 == 0x00ce
_T2CON_6	=	0x00ce
G$T2CON_7$0$0 == 0x00cf
_T2CON_7	=	0x00cf
G$CP_RL2$0$0 == 0x00c8
_CP_RL2	=	0x00c8
G$C_T2$0$0 == 0x00c9
_C_T2	=	0x00c9
G$TR2$0$0 == 0x00ca
_TR2	=	0x00ca
G$EXEN2$0$0 == 0x00cb
_EXEN2	=	0x00cb
G$TCLK$0$0 == 0x00cc
_TCLK	=	0x00cc
G$RCLK$0$0 == 0x00cd
_RCLK	=	0x00cd
G$EXF2$0$0 == 0x00ce
_EXF2	=	0x00ce
G$TF2$0$0 == 0x00cf
_TF2	=	0x00cf
G$CF$0$0 == 0x00df
_CF	=	0x00df
G$CR$0$0 == 0x00de
_CR	=	0x00de
G$CCF4$0$0 == 0x00dc
_CCF4	=	0x00dc
G$CCF3$0$0 == 0x00db
_CCF3	=	0x00db
G$CCF2$0$0 == 0x00da
_CCF2	=	0x00da
G$CCF1$0$0 == 0x00d9
_CCF1	=	0x00d9
G$CCF0$0$0 == 0x00d8
_CCF0	=	0x00d8
G$EC$0$0 == 0x00ae
_EC	=	0x00ae
G$PPCL$0$0 == 0x00be
_PPCL	=	0x00be
G$PT2L$0$0 == 0x00bd
_PT2L	=	0x00bd
G$PLS$0$0 == 0x00bc
_PLS	=	0x00bc
G$PT1L$0$0 == 0x00bb
_PT1L	=	0x00bb
G$PX1L$0$0 == 0x00ba
_PX1L	=	0x00ba
G$PT0L$0$0 == 0x00b9
_PT0L	=	0x00b9
G$PX0L$0$0 == 0x00b8
_PX0L	=	0x00b8
G$P4_0$0$0 == 0x00c0
_P4_0	=	0x00c0
G$P4_1$0$0 == 0x00c1
_P4_1	=	0x00c1
G$P4_2$0$0 == 0x00c2
_P4_2	=	0x00c2
G$P4_3$0$0 == 0x00c3
_P4_3	=	0x00c3
G$P4_4$0$0 == 0x00c4
_P4_4	=	0x00c4
G$P4_5$0$0 == 0x00c5
_P4_5	=	0x00c5
G$P4_6$0$0 == 0x00c6
_P4_6	=	0x00c6
G$P4_7$0$0 == 0x00c7
_P4_7	=	0x00c7
G$P5_0$0$0 == 0x00d8
_P5_0	=	0x00d8
G$P5_1$0$0 == 0x00d9
_P5_1	=	0x00d9
G$P5_2$0$0 == 0x00da
_P5_2	=	0x00da
G$P5_3$0$0 == 0x00db
_P5_3	=	0x00db
G$P5_4$0$0 == 0x00dc
_P5_4	=	0x00dc
G$P5_5$0$0 == 0x00dd
_P5_5	=	0x00dd
G$P5_6$0$0 == 0x00de
_P5_6	=	0x00de
G$P5_7$0$0 == 0x00df
_P5_7	=	0x00df
G$BREG_F0$0$0 == 0x00f0
_BREG_F0	=	0x00f0
G$BREG_F1$0$0 == 0x00f1
_BREG_F1	=	0x00f1
G$BREG_F2$0$0 == 0x00f2
_BREG_F2	=	0x00f2
G$BREG_F3$0$0 == 0x00f3
_BREG_F3	=	0x00f3
G$BREG_F4$0$0 == 0x00f4
_BREG_F4	=	0x00f4
G$BREG_F5$0$0 == 0x00f5
_BREG_F5	=	0x00f5
G$BREG_F6$0$0 == 0x00f6
_BREG_F6	=	0x00f6
G$BREG_F7$0$0 == 0x00f7
_BREG_F7	=	0x00f7
G$EX0$0$0 == 0x00a8
_EX0	=	0x00a8
G$ET0$0$0 == 0x00a9
_ET0	=	0x00a9
G$EX1$0$0 == 0x00aa
_EX1	=	0x00aa
G$ET1$0$0 == 0x00ab
_ET1	=	0x00ab
G$ES$0$0 == 0x00ac
_ES	=	0x00ac
G$EA$0$0 == 0x00af
_EA	=	0x00af
G$PX0$0$0 == 0x00b8
_PX0	=	0x00b8
G$PT0$0$0 == 0x00b9
_PT0	=	0x00b9
G$PX1$0$0 == 0x00ba
_PX1	=	0x00ba
G$PT1$0$0 == 0x00bb
_PT1	=	0x00bb
G$PS$0$0 == 0x00bc
_PS	=	0x00bc
G$P0_0$0$0 == 0x0080
_P0_0	=	0x0080
G$P0_1$0$0 == 0x0081
_P0_1	=	0x0081
G$P0_2$0$0 == 0x0082
_P0_2	=	0x0082
G$P0_3$0$0 == 0x0083
_P0_3	=	0x0083
G$P0_4$0$0 == 0x0084
_P0_4	=	0x0084
G$P0_5$0$0 == 0x0085
_P0_5	=	0x0085
G$P0_6$0$0 == 0x0086
_P0_6	=	0x0086
G$P0_7$0$0 == 0x0087
_P0_7	=	0x0087
G$P1_0$0$0 == 0x0090
_P1_0	=	0x0090
G$P1_1$0$0 == 0x0091
_P1_1	=	0x0091
G$P1_2$0$0 == 0x0092
_P1_2	=	0x0092
G$P1_3$0$0 == 0x0093
_P1_3	=	0x0093
G$P1_4$0$0 == 0x0094
_P1_4	=	0x0094
G$P1_5$0$0 == 0x0095
_P1_5	=	0x0095
G$P1_6$0$0 == 0x0096
_P1_6	=	0x0096
G$P1_7$0$0 == 0x0097
_P1_7	=	0x0097
G$P2_0$0$0 == 0x00a0
_P2_0	=	0x00a0
G$P2_1$0$0 == 0x00a1
_P2_1	=	0x00a1
G$P2_2$0$0 == 0x00a2
_P2_2	=	0x00a2
G$P2_3$0$0 == 0x00a3
_P2_3	=	0x00a3
G$P2_4$0$0 == 0x00a4
_P2_4	=	0x00a4
G$P2_5$0$0 == 0x00a5
_P2_5	=	0x00a5
G$P2_6$0$0 == 0x00a6
_P2_6	=	0x00a6
G$P2_7$0$0 == 0x00a7
_P2_7	=	0x00a7
G$P3_0$0$0 == 0x00b0
_P3_0	=	0x00b0
G$P3_1$0$0 == 0x00b1
_P3_1	=	0x00b1
G$P3_2$0$0 == 0x00b2
_P3_2	=	0x00b2
G$P3_3$0$0 == 0x00b3
_P3_3	=	0x00b3
G$P3_4$0$0 == 0x00b4
_P3_4	=	0x00b4
G$P3_5$0$0 == 0x00b5
_P3_5	=	0x00b5
G$P3_6$0$0 == 0x00b6
_P3_6	=	0x00b6
G$P3_7$0$0 == 0x00b7
_P3_7	=	0x00b7
G$RXD$0$0 == 0x00b0
_RXD	=	0x00b0
G$RXD0$0$0 == 0x00b0
_RXD0	=	0x00b0
G$TXD$0$0 == 0x00b1
_TXD	=	0x00b1
G$TXD0$0$0 == 0x00b1
_TXD0	=	0x00b1
G$INT0$0$0 == 0x00b2
_INT0	=	0x00b2
G$INT1$0$0 == 0x00b3
_INT1	=	0x00b3
G$T0$0$0 == 0x00b4
_T0	=	0x00b4
G$T1$0$0 == 0x00b5
_T1	=	0x00b5
G$WR$0$0 == 0x00b6
_WR	=	0x00b6
G$RD$0$0 == 0x00b7
_RD	=	0x00b7
G$P$0$0 == 0x00d0
_P	=	0x00d0
G$F1$0$0 == 0x00d1
_F1	=	0x00d1
G$OV$0$0 == 0x00d2
_OV	=	0x00d2
G$RS0$0$0 == 0x00d3
_RS0	=	0x00d3
G$RS1$0$0 == 0x00d4
_RS1	=	0x00d4
G$F0$0$0 == 0x00d5
_F0	=	0x00d5
G$AC$0$0 == 0x00d6
_AC	=	0x00d6
G$CY$0$0 == 0x00d7
_CY	=	0x00d7
G$RI$0$0 == 0x0098
_RI	=	0x0098
G$TI$0$0 == 0x0099
_TI	=	0x0099
G$RB8$0$0 == 0x009a
_RB8	=	0x009a
G$TB8$0$0 == 0x009b
_TB8	=	0x009b
G$REN$0$0 == 0x009c
_REN	=	0x009c
G$SM2$0$0 == 0x009d
_SM2	=	0x009d
G$SM1$0$0 == 0x009e
_SM1	=	0x009e
G$SM0$0$0 == 0x009f
_SM0	=	0x009f
G$IT0$0$0 == 0x0088
_IT0	=	0x0088
G$IE0$0$0 == 0x0089
_IE0	=	0x0089
G$IT1$0$0 == 0x008a
_IT1	=	0x008a
G$IE1$0$0 == 0x008b
_IE1	=	0x008b
G$TR0$0$0 == 0x008c
_TR0	=	0x008c
G$TF0$0$0 == 0x008d
_TF0	=	0x008d
G$TR1$0$0 == 0x008e
_TR1	=	0x008e
G$TF1$0$0 == 0x008f
_TF1	=	0x008f
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
Lgetstr$sloc0$1$0==.
_getstr_sloc0_1_0:
	.ds 3
Lhtoi$sloc0$1$0==.
_htoi_sloc0_1_0:
	.ds 3
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
	.area OSEG    (OVR,DATA)
;--------------------------------------------------------
; Stack segment in internal ram 
;--------------------------------------------------------
	.area	SSEG	(DATA)
__start__stack:
	.ds	1

;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
Lputchar$c$1$1==.
_putchar_c_1_1:
	.ds 1
Lputstr$s$1$1==.
_putstr_s_1_1:
	.ds 3
Lgetstr$s$1$1==.
_getstr_s_1_1:
	.ds 3
LserialInit$br$1$1==.
_serialInit_br_1_1:
	.ds 2
LmyDelay$j$1$1==.
_myDelay_j_1_1:
	.ds 2
Lhexalpha_to_int$c$1$1==.
_hexalpha_to_int_c_1_1:
	.ds 2
Lhexalpha_to_int$hexalpha$1$1==.
_hexalpha_to_int_hexalpha_1_1:
	.ds 13
Lhexalpha_to_int$answer$1$1==.
_hexalpha_to_int_answer_1_1:
	.ds 2
Lhtoi$s$1$1==.
_htoi_s_1_1:
	.ds 3
Lhtoi$answer$1$1==.
_htoi_answer_1_1:
	.ds 2
Lhtoi$i$1$1==.
_htoi_i_1_1:
	.ds 2
Lhtoi$valid$1$1==.
_htoi_valid_1_1:
	.ds 2
LgetInput$retStr$1$1==.
_getInput_PARM_2:
	.ds 3
LgetInput$sz_retStr$1$1==.
_getInput_PARM_3:
	.ds 2
LgetInput$f_clear$1$1==.
_getInput_PARM_4:
	.ds 2
LgetInput$f_noWait$1$1==.
_getInput_PARM_5:
	.ds 2
LgetInput$prompt$1$1==.
_getInput_prompt_1_1:
	.ds 3
LgetInput$conv$1$1==.
_getInput_conv_1_1:
	.ds 2
LgetInput$tmp$1$1==.
_getInput_tmp_1_1:
	.ds 2
LwriteIox$ioxdata$1$1==.
_writeIox_ioxdata_1_1:
	.ds 1
LioxPrintIo$ioxst$1$1==.
_ioxPrintIo_ioxst_1_1:
	.ds 3
LioxPrintData$ioxdata$1$1==.
_ioxPrintData_ioxdata_1_1:
	.ds 1
LreadIox$read_byte$1$1==.
_readIox_read_byte_1_1:
	.ds 1
Lmain$ioxMask0$1$1==.
_main_ioxMask0_1_1:
	.ds 8
Lmain$ioxMask1$1$1==.
_main_ioxMask1_1_1:
	.ds 8
Lmain$ioxState$1$1==.
_main_ioxState_1_1:
	.ds 8
Lmain$ipString$1$1==.
_main_ipString_1_1:
	.ds 6
Lmain$ipStringLarge$1$1==.
_main_ipStringLarge_1_1:
	.ds 100
Lmain$ipChar$1$1==.
_main_ipChar_1_1:
	.ds 1
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area XISEG   (XDATA)
G$f_intRecvd$0$0==.
_f_intRecvd::
	.ds 2
G$g_ioxData$0$0==.
_g_ioxData::
	.ds 1
	.area HOME    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; interrupt vector 
;--------------------------------------------------------
	.area HOME    (CODE)
__interrupt_vect:
	ljmp	__sdcc_gsinit_startup
	ljmp	_int0_ISR
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
	.globl __sdcc_gsinit_startup
	.globl __sdcc_program_startup
	.globl __start__stack
	.globl __mcs51_genXINIT
	.globl __mcs51_genXRAMCLEAR
	.globl __mcs51_genRAMCLEAR
	.area GSFINAL (CODE)
	ljmp	__sdcc_program_startup
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area CSEG    (CODE)
__sdcc_program_startup:
	lcall	_main
;	return from main will lock up
	sjmp .
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function '_sdcc_external_startup'
;------------------------------------------------------------
;------------------------------------------------------------
	G$_sdcc_external_startup$0$0 ==.
	C$main.c$90$0$0 ==.
;	../src/main.c:90: _sdcc_external_startup() {
;	-----------------------------------------
;	 function _sdcc_external_startup
;	-----------------------------------------
__sdcc_external_startup:
	ar2 = 0x02
	ar3 = 0x03
	ar4 = 0x04
	ar5 = 0x05
	ar6 = 0x06
	ar7 = 0x07
	ar0 = 0x00
	ar1 = 0x01
	C$main.c$92$1$1 ==.
;	../src/main.c:92: AUXR |= 0x0C;
;	genOr
	orl	_AUXR,#0x0C
	C$main.c$93$1$1 ==.
;	../src/main.c:93: AUXR &= 0x7F;
;	genAnd
	anl	_AUXR,#0x7F
	C$main.c$94$1$1 ==.
;	../src/main.c:94: return 0;
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0000
;	Peephole 300	removed redundant label 00101$
	C$main.c$95$1$1 ==.
	XG$_sdcc_external_startup$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'putchar'
;------------------------------------------------------------
;c                         Allocated with name '_putchar_c_1_1'
;------------------------------------------------------------
	G$putchar$0$0 ==.
	C$main.c$115$1$1 ==.
;	../src/main.c:115: void putchar (char c) {
;	-----------------------------------------
;	 function putchar
;	-----------------------------------------
_putchar:
;	genReceive
	mov	a,dpl
	mov	dptr,#_putchar_c_1_1
	movx	@dptr,a
	C$main.c$116$1$1 ==.
;	../src/main.c:116: SBUF = c;  	                // load serial port with transmit value
;	genAssign
	mov	dptr,#_putchar_c_1_1
	movx	a,@dptr
	mov	_SBUF,a
	C$main.c$117$1$1 ==.
;	../src/main.c:117: while (!TI);	            // check T1 flag
00101$:
;	genIfx
;	genIfxJump
;	Peephole 108.d	removed ljmp by inverse jump logic
	C$main.c$118$1$1 ==.
;	../src/main.c:118: TI = 0;  	                // clear TI flag
;	genAssign
;	Peephole 250.a	using atomic test and clear
	jbc	_TI,00108$
	sjmp	00101$
00108$:
;	Peephole 300	removed redundant label 00104$
	C$main.c$119$1$1 ==.
	XG$putchar$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'getchar'
;------------------------------------------------------------
;------------------------------------------------------------
	G$getchar$0$0 ==.
	C$main.c$140$1$1 ==.
;	../src/main.c:140: char getchar () {
;	-----------------------------------------
;	 function getchar
;	-----------------------------------------
_getchar:
	C$main.c$141$1$1 ==.
;	../src/main.c:141: while (!RI);                // compare asm code generated for these three lines
00101$:
;	genIfx
;	genIfxJump
;	Peephole 108.d	removed ljmp by inverse jump logic
	C$main.c$142$1$1 ==.
;	../src/main.c:142: RI = 0;			            // clear RI flag
;	genAssign
;	Peephole 250.a	using atomic test and clear
	jbc	_RI,00108$
	sjmp	00101$
00108$:
	C$main.c$143$1$1 ==.
;	../src/main.c:143: return SBUF;  	            // return character from SBUF
;	genAssign
	mov	r2,_SBUF
;	genRet
	mov	dpl,r2
;	Peephole 300	removed redundant label 00104$
	C$main.c$144$1$1 ==.
	XG$getchar$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'putstr'
;------------------------------------------------------------
;s                         Allocated with name '_putstr_s_1_1'
;i                         Allocated with name '_putstr_i_1_1'
;------------------------------------------------------------
	G$putstr$0$0 ==.
	C$main.c$163$1$1 ==.
;	../src/main.c:163: int putstr (char *s) {
;	-----------------------------------------
;	 function putstr
;	-----------------------------------------
_putstr:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_putstr_s_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$166$1$1 ==.
;	../src/main.c:166: while (*s){									// output characters until NULL found
;	genAssign
	mov	dptr,#_putstr_s_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genAssign
	mov	r5,#0x00
	mov	r6,#0x00
00101$:
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
;	genIfx
	mov	r7,a
;	Peephole 105	removed redundant mov
;	genIfxJump
;	Peephole 108.c	removed ljmp by inverse jump logic
	jz	00108$
;	Peephole 300	removed redundant label 00109$
	C$main.c$167$2$2 ==.
;	../src/main.c:167: putchar(*s++);
;	genAssign
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00110$
	inc	r3
00110$:
;	genAssign
	mov	dptr,#_putstr_s_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;	genCall
	mov	dpl,r7
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$168$2$2 ==.
;	../src/main.c:168: i++;
;	genPlus
;     genPlusIncr
;	tail increment optimized (range 8)
	inc	r5
	cjne	r5,#0x00,00101$
	inc	r6
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00108$:
;	genAssign
	mov	dptr,#_putstr_s_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	C$main.c$171$1$1 ==.
;	../src/main.c:171: return i+1;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00111$
	inc	r6
00111$:
;	genRet
	mov	dpl,r5
	mov	dph,r6
;	Peephole 300	removed redundant label 00104$
	C$main.c$172$1$1 ==.
	XG$putstr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'getstr'
;------------------------------------------------------------
;sloc0                     Allocated with name '_getstr_sloc0_1_0'
;s                         Allocated with name '_getstr_s_1_1'
;i                         Allocated with name '_getstr_i_1_1'
;------------------------------------------------------------
	G$getstr$0$0 ==.
	C$main.c$196$1$1 ==.
;	../src/main.c:196: int getstr (char *s) {
;	-----------------------------------------
;	 function getstr
;	-----------------------------------------
_getstr:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_getstr_s_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$199$2$2 ==.
;	../src/main.c:199: do {
;	genAssign
	mov	dptr,#_getstr_s_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genAssign
	mov	r5,#0x00
	mov	r6,#0x00
00101$:
	C$main.c$200$2$2 ==.
;	../src/main.c:200: s[i] = getchar();
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	_getstr_sloc0_1_0,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	(_getstr_sloc0_1_0 + 1),a
	mov	(_getstr_sloc0_1_0 + 2),r4
;	genCall
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_getchar
	mov	r7,dpl
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	genPointerSet
;	genGenPointerSet
	mov	dpl,_getstr_sloc0_1_0
	mov	dph,(_getstr_sloc0_1_0 + 1)
	mov	b,(_getstr_sloc0_1_0 + 2)
	mov	a,r7
	lcall	__gptrput
	C$main.c$201$2$2 ==.
;	../src/main.c:201: putchar(s[i]);
;	genCall
	mov	dpl,r7
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$202$2$2 ==.
;	../src/main.c:202: i++;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00109$
	inc	r6
00109$:
	C$main.c$203$1$1 ==.
;	../src/main.c:203: } while(s[i-1] != 0x0D);  					//0x0D is <CR>
;	genMinus
;	genMinusDec
	mov	a,r5
	add	a,#0xff
	mov	r7,a
	mov	a,r6
	addc	a,#0xff
	mov	r0,a
;	genPlus
;	Peephole 236.g	used r7 instead of ar7
	mov	a,r7
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r7,a
;	Peephole 236.g	used r0 instead of ar0
	mov	a,r0
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	r0,a
	mov	ar1,r4
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r7
	mov	dph,r0
	mov	b,r1
	lcall	__gptrget
	mov	r7,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r7,#0x0D,00101$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00110$
;	Peephole 300	removed redundant label 00111$
	C$main.c$204$1$1 ==.
;	../src/main.c:204: s[i-1] = 0x00;								//replace <CR> with NULL (0x00)
;	genMinus
;	genMinusDec
	dec	r5
	cjne	r5,#0xff,00112$
	dec	r6
00112$:
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r2,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	r3,a
;	genPointerSet
;	genGenPointerSet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
;	Peephole 181	changed mov to clr
	clr	a
	lcall	__gptrput
	C$main.c$205$1$1 ==.
;	../src/main.c:205: putchar('\n\r');
;	genCall
	mov	dpl,#0x0A
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	C$main.c$206$1$1 ==.
;	../src/main.c:206: return (i-1);
;	genRet
	mov	dpl,r5
	mov	dph,r6
;	Peephole 300	removed redundant label 00104$
	C$main.c$207$1$1 ==.
	XG$getstr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'serialInit'
;------------------------------------------------------------
;br                        Allocated with name '_serialInit_br_1_1'
;------------------------------------------------------------
	G$serialInit$0$0 ==.
	C$main.c$226$1$1 ==.
;	../src/main.c:226: void serialInit(int br) {
;	-----------------------------------------
;	 function serialInit
;	-----------------------------------------
_serialInit:
	C$main.c$250$1$1 ==.
;	../src/main.c:250: br=0;
;	genAssign
	mov	dptr,#_serialInit_br_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$251$1$1 ==.
;	../src/main.c:251: EA = 0;
;	genAssign
	clr	_EA
	C$main.c$252$1$1 ==.
;	../src/main.c:252: SCON = 0x50;					  			/* uart in mode 1 (8 bit), REN=1 */
;	genAssign
	mov	_SCON,#0x50
	C$main.c$253$1$1 ==.
;	../src/main.c:253: T2CON &= 0xDC;               				/* EXEN2=0; TR2=0; C/T2#=0; CP/RL2#=0; */
;	genAnd
	anl	_T2CON,#0xDC
	C$main.c$254$1$1 ==.
;	../src/main.c:254: T2CON |= 0x30;               				/* RCLK = 1; TCLK=1; */
;	genOr
	orl	_T2CON,#0x30
	C$main.c$255$1$1 ==.
;	../src/main.c:255: RCAP2H = 0xFF;                 				/* reload value, 115200 Bds at 11.059MHz */
;	genAssign
	mov	_RCAP2H,#0xFF
	C$main.c$256$1$1 ==.
;	../src/main.c:256: RCAP2L = 0xFD;
;	genAssign
	mov	_RCAP2L,#0xFD
	C$main.c$257$1$1 ==.
;	../src/main.c:257: TI = 0;
;	genAssign
	clr	_TI
	C$main.c$258$1$1 ==.
;	../src/main.c:258: RI = 0;
;	genAssign
	clr	_RI
	C$main.c$259$1$1 ==.
;	../src/main.c:259: ES = 0;  				   					//for serial transmission
;	genAssign
	clr	_ES
	C$main.c$260$1$1 ==.
;	../src/main.c:260: ET2 = 0;
;	genAssign
	clr	_ET2
	C$main.c$261$1$1 ==.
;	../src/main.c:261: TR2 = 1;  									//Timer 2 start
;	genAssign
	setb	_TR2
	C$main.c$262$1$1 ==.
;	../src/main.c:262: EA = 1;
;	genAssign
	setb	_EA
;	Peephole 300	removed redundant label 00101$
	C$main.c$264$1$1 ==.
	XG$serialInit$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'initAll'
;------------------------------------------------------------
;i                         Allocated with name '_initAll_i_1_1'
;------------------------------------------------------------
	G$initAll$0$0 ==.
	C$main.c$280$1$1 ==.
;	../src/main.c:280: void initAll() {
;	-----------------------------------------
;	 function initAll
;	-----------------------------------------
_initAll:
	C$main.c$284$1$1 ==.
;	../src/main.c:284: EA = 1;
;	genAssign
	setb	_EA
;	Peephole 300	removed redundant label 00101$
	C$main.c$285$1$1 ==.
	XG$initAll$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'clearScr'
;------------------------------------------------------------
;------------------------------------------------------------
	G$clearScr$0$0 ==.
	C$main.c$306$1$1 ==.
;	../src/main.c:306: void clearScr() {
;	-----------------------------------------
;	 function clearScr
;	-----------------------------------------
_clearScr:
	C$main.c$307$1$1 ==.
;	../src/main.c:307: printf("\033c");			//reset terminal
;	genIpush
	mov	a,#__str_0
	push	acc
	mov	a,#(__str_0 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$308$1$1 ==.
;	../src/main.c:308: printf("\033[2J");			//clear screen
;	genIpush
	mov	a,#__str_1
	push	acc
	mov	a,#(__str_1 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
;	Peephole 300	removed redundant label 00101$
	C$main.c$309$1$1 ==.
	XG$clearScr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'myDelay'
;------------------------------------------------------------
;j                         Allocated with name '_myDelay_j_1_1'
;i                         Allocated with name '_myDelay_i_1_1'
;cnt                       Allocated with name '_myDelay_cnt_1_1'
;------------------------------------------------------------
	G$myDelay$0$0 ==.
	C$main.c$325$1$1 ==.
;	../src/main.c:325: void myDelay(int j) {
;	-----------------------------------------
;	 function myDelay
;	-----------------------------------------
_myDelay:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_myDelay_j_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$329$1$1 ==.
;	../src/main.c:329: j*=100;
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#__mulint_PARM_2
	mov	a,#0x64
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	lcall	__mulint
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
	C$main.c$330$1$1 ==.
;	../src/main.c:330: while(j) {
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
00101$:
;	genIfx
	mov	a,r2
	orl	a,r3
;	genIfxJump
	jnz	00169$
	ljmp	00168$
00169$:
	C$main.c$331$1$1 ==.
;	../src/main.c:331: for(i=0; i<100; i++);
;	genAssign
	mov	r4,#0x64
	mov	r5,#0x00
00106$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00170$
	dec	r5
00170$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$332$1$1 ==.
;	../src/main.c:332: for(i=0; i<100; i++);
;	genAssign
	jnz	00106$
;	Peephole 300	removed redundant label 00171$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00109$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00172$
	dec	r5
00172$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$333$1$1 ==.
;	../src/main.c:333: for(i=0; i<100; i++);
;	genAssign
	jnz	00109$
;	Peephole 300	removed redundant label 00173$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00112$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00174$
	dec	r5
00174$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$334$1$1 ==.
;	../src/main.c:334: for(i=0; i<100; i++);
;	genAssign
	jnz	00112$
;	Peephole 300	removed redundant label 00175$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00115$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00176$
	dec	r5
00176$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$335$1$1 ==.
;	../src/main.c:335: for(i=0; i<100; i++);
;	genAssign
	jnz	00115$
;	Peephole 300	removed redundant label 00177$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00118$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00178$
	dec	r5
00178$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$336$1$1 ==.
;	../src/main.c:336: for(i=0; i<100; i++);
;	genAssign
	jnz	00118$
;	Peephole 300	removed redundant label 00179$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00121$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00180$
	dec	r5
00180$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$337$1$1 ==.
;	../src/main.c:337: for(i=0; i<100; i++);
;	genAssign
	jnz	00121$
;	Peephole 300	removed redundant label 00181$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00124$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00182$
	dec	r5
00182$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$338$1$1 ==.
;	../src/main.c:338: for(i=0; i<100; i++);
;	genAssign
	jnz	00124$
;	Peephole 300	removed redundant label 00183$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00127$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00184$
	dec	r5
00184$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$339$1$1 ==.
;	../src/main.c:339: for(i=0; i<100; i++);
;	genAssign
	jnz	00127$
;	Peephole 300	removed redundant label 00185$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00130$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00186$
	dec	r5
00186$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$340$1$1 ==.
;	../src/main.c:340: for(i=0; i<100; i++);
;	genAssign
	jnz	00130$
;	Peephole 300	removed redundant label 00187$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00133$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00188$
	dec	r5
00188$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00133$
;	Peephole 300	removed redundant label 00189$
	C$main.c$341$2$2 ==.
;	../src/main.c:341: j--;
;	genMinus
;	genMinusDec
	dec	r2
	cjne	r2,#0xff,00190$
	dec	r3
00190$:
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	ljmp	00101$
00168$:
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;	Peephole 300	removed redundant label 00134$
	C$main.c$343$1$1 ==.
	XG$myDelay$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'hexalpha_to_int'
;------------------------------------------------------------
;c                         Allocated with name '_hexalpha_to_int_c_1_1'
;hexalpha                  Allocated with name '_hexalpha_to_int_hexalpha_1_1'
;i                         Allocated with name '_hexalpha_to_int_i_1_1'
;answer                    Allocated with name '_hexalpha_to_int_answer_1_1'
;------------------------------------------------------------
	G$hexalpha_to_int$0$0 ==.
	C$main.c$365$1$1 ==.
;	../src/main.c:365: int hexalpha_to_int(int c)
;	-----------------------------------------
;	 function hexalpha_to_int
;	-----------------------------------------
_hexalpha_to_int:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_hexalpha_to_int_c_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$367$1$1 ==.
;	../src/main.c:367: char hexalpha[] = "aAbBcCdDeEfF";
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_hexalpha_to_int_hexalpha_1_1
	mov	a,#0x61
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0001)
	mov	a,#0x41
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0002)
	mov	a,#0x62
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0003)
	mov	a,#0x42
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0004)
	mov	a,#0x63
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0005)
	mov	a,#0x43
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0006)
	mov	a,#0x64
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0007)
	mov	a,#0x44
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0008)
	mov	a,#0x65
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0009)
	mov	a,#0x45
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x000a)
	mov	a,#0x66
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x000b)
	mov	a,#0x46
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x000c)
;	Peephole 181	changed mov to clr
	C$main.c$369$1$1 ==.
;	../src/main.c:369: int answer = 0;
;	genAssign
;	Peephole 219.a	removed redundant clear
	clr	a
	movx	@dptr,a
	mov	dptr,#_hexalpha_to_int_answer_1_1
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$371$2$2 ==.
;	../src/main.c:371: for(i = 0; answer == 0 && hexalpha[i] != '\0'; i++)
;	genAssign
	mov	dptr,#_hexalpha_to_int_c_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	r4,#0x00
	mov	r5,#0x00
00104$:
;	genAssign
	mov	dptr,#_hexalpha_to_int_answer_1_1
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r6,#0x00,00107$
	cjne	r7,#0x00,00107$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00115$
;	Peephole 300	removed redundant label 00116$
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_hexalpha_to_int_hexalpha_1_1
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_hexalpha_to_int_hexalpha_1_1 >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
	mov	r6,a
;	Peephole 115.b	jump optimization
	jz	00107$
;	Peephole 300	removed redundant label 00117$
	C$main.c$373$2$2 ==.
;	../src/main.c:373: if(hexalpha[i] == c)
;	genCast
	mov	a,r6
	rlc	a
	subb	a,acc
	mov	r7,a
;	genCmpEq
;	gencjneshort
	mov	a,r6
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 197.b	optimized misc jump sequence
	cjne	a,ar2,00106$
	mov	a,r7
	cjne	a,ar3,00106$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00118$
;	Peephole 300	removed redundant label 00119$
	C$main.c$375$1$1 ==.
;	../src/main.c:375: answer = 10 + (i / 2);
;	genAssign
	mov	dptr,#__divsint_PARM_2
	mov	a,#0x02
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
	mov	dpl,r4
	mov	dph,r5
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	lcall	__divsint
	mov	a,dpl
	mov	b,dph
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	genPlus
	mov	dptr,#_hexalpha_to_int_answer_1_1
;     genPlusIncr
	add	a,#0x0A
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
	addc	a,b
	inc	dptr
	movx	@dptr,a
00106$:
	C$main.c$371$1$1 ==.
;	../src/main.c:371: for(i = 0; answer == 0 && hexalpha[i] != '\0'; i++)
;	genPlus
;     genPlusIncr
	inc	r4
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r4,#0x00,00104$
	inc	r5
;	Peephole 300	removed redundant label 00120$
	sjmp	00104$
00107$:
	C$main.c$379$1$1 ==.
;	../src/main.c:379: return answer;
;	genAssign
	mov	dptr,#_hexalpha_to_int_answer_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genRet
	C$main.c$380$1$1 ==.
	XG$hexalpha_to_int$0$0 ==.
;	Peephole 234.b	loading dph directly from a(ccumulator), r3 not set
	mov	dpl,r2
	mov	dph,a
;	Peephole 300	removed redundant label 00108$
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'htoi'
;------------------------------------------------------------
;sloc0                     Allocated with name '_htoi_sloc0_1_0'
;s                         Allocated with name '_htoi_s_1_1'
;answer                    Allocated with name '_htoi_answer_1_1'
;i                         Allocated with name '_htoi_i_1_1'
;valid                     Allocated with name '_htoi_valid_1_1'
;hexit                     Allocated with name '_htoi_hexit_1_1'
;------------------------------------------------------------
	G$htoi$0$0 ==.
	C$main.c$402$1$1 ==.
;	../src/main.c:402: unsigned int htoi(const char s[])
;	-----------------------------------------
;	 function htoi
;	-----------------------------------------
_htoi:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_htoi_s_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$404$1$1 ==.
;	../src/main.c:404: unsigned int answer = 0;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$405$1$1 ==.
;	../src/main.c:405: int i = 0;
;	genAssign
	mov	dptr,#_htoi_i_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$406$1$1 ==.
;	../src/main.c:406: int valid = 1;
;	genAssign
	mov	dptr,#_htoi_valid_1_1
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$409$1$1 ==.
;	../src/main.c:409: if(s[i] == '0')
;	genAssign
	mov	dptr,#_htoi_s_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r5,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r5,#0x30,00128$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00131$
;	Peephole 300	removed redundant label 00132$
	C$main.c$411$2$2 ==.
;	../src/main.c:411: ++i;
;	genAssign
	mov	dptr,#_htoi_i_1_1
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$412$2$2 ==.
;	../src/main.c:412: if(s[i] == 'x' || s[i] == 'X')
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00133$
	inc	r3
00133$:
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x78,00134$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00134$:
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r2,#0x58,00128$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00135$
;	Peephole 300	removed redundant label 00136$
00101$:
	C$main.c$414$3$3 ==.
;	../src/main.c:414: ++i;
;	genAssign
	mov	dptr,#_htoi_i_1_1
	mov	a,#0x02
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$418$1$1 ==.
;	../src/main.c:418: while(valid && s[i] != '\0')
00128$:
;	genAssign
	mov	dptr,#_htoi_s_1_1
	movx	a,@dptr
	mov	_htoi_sloc0_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(_htoi_sloc0_1_0 + 1),a
	inc	dptr
	movx	a,@dptr
	mov	(_htoi_sloc0_1_0 + 2),a
;	genAssign
	mov	dptr,#_htoi_i_1_1
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
00114$:
;	genAssign
	mov	dptr,#_htoi_valid_1_1
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
;	genIfx
	mov	r0,a
;	Peephole 135	removed redundant mov
	orl	a,r7
;	genIfxJump
	jnz	00137$
	ljmp	00116$
00137$:
;	genAssign
	mov	dptr,#_htoi_s_1_1
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r7 instead of ar7
	add	a,r7
	mov	r7,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r0 instead of ar0
	addc	a,r0
	mov	r0,a
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r7
	mov	dph,r0
	mov	b,r1
	lcall	__gptrget
	mov	r7,a
;	genCmpEq
;	gencjneshort
	cjne	r7,#0x00,00138$
	ljmp	00116$
00138$:
	C$main.c$420$2$4 ==.
;	../src/main.c:420: answer = answer * 16;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r1,a
;	Peephole 105	removed redundant mov
	swap	a
	anl	a,#0xf0
	xch	a,r0
	swap	a
	xch	a,r0
	xrl	a,r0
	xch	a,r0
	anl	a,#0xf0
	xch	a,r0
	xrl	a,r0
	mov	r1,a
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	mov	a,r0
	movx	@dptr,a
	inc	dptr
	mov	a,r1
	movx	@dptr,a
	C$main.c$421$2$4 ==.
;	../src/main.c:421: if(s[i] >= '0' && s[i] <= '9')
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r7
	xrl	a,#0x80
	subb	a,#0xb0
;	genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160.a	removed sjmp by inverse jump logic
;	genCmpGt
;	genCmp
	jc	00110$
;	Peephole 300	removed redundant label 00139$
;	Peephole 256.a	removed redundant clr c
;	Peephole 159	avoided xrl during execution
	mov	a,#(0x39 ^ 0x80)
	mov	b,r7
	xrl	b,#0x80
	subb	a,b
;	genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160.a	removed sjmp by inverse jump logic
	jc	00110$
;	Peephole 300	removed redundant label 00140$
	C$main.c$423$1$1 ==.
;	../src/main.c:423: answer = answer + (s[i] - '0');
;	genIpush
;	genCast
	mov	a,r7
	rlc	a
	subb	a,acc
	mov	r0,a
;	genMinus
	mov	a,r7
	add	a,#0xd0
	mov	r7,a
	mov	a,r0
	addc	a,#0xff
	mov	r0,a
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
;	genPlus
	mov	dptr,#_htoi_answer_1_1
;	Peephole 236.g	used r7 instead of ar7
	mov	a,r7
;	Peephole 236.a	used r1 instead of ar1
	add	a,r1
	movx	@dptr,a
;	Peephole 236.g	used r0 instead of ar0
	mov	a,r0
;	Peephole 236.b	used r2 instead of ar2
	addc	a,r2
	inc	dptr
	movx	@dptr,a
;	genIpop
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00111$
00110$:
	C$main.c$427$3$6 ==.
;	../src/main.c:427: hexit = hexalpha_to_int(s[i]);
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	add	a,_htoi_sloc0_1_0
	mov	r7,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
	addc	a,(_htoi_sloc0_1_0 + 1)
	mov	r0,a
	mov	r1,(_htoi_sloc0_1_0 + 2)
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r7
	mov	dph,r0
	mov	b,r1
	lcall	__gptrget
;	genCast
	mov	r7,a
;	Peephole 105	removed redundant mov
	rlc	a
	subb	a,acc
	mov	r0,a
;	genCall
	mov	dpl,r7
	mov	dph,r0
	push	ar5
	push	ar6
	lcall	_hexalpha_to_int
	mov	r7,dpl
	mov	r0,dph
	pop	ar6
	pop	ar5
	C$main.c$428$3$6 ==.
;	../src/main.c:428: if(hexit == 0)
;	genIfx
	mov	a,r7
	orl	a,r0
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00107$
;	Peephole 300	removed redundant label 00141$
	C$main.c$430$4$7 ==.
;	../src/main.c:430: valid = 0;
;	genAssign
	mov	dptr,#_htoi_valid_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00111$
00107$:
	C$main.c$434$4$8 ==.
;	../src/main.c:434: answer = answer + hexit;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
;	genPlus
	mov	dptr,#_htoi_answer_1_1
;	Peephole 236.g	used r7 instead of ar7
	mov	a,r7
;	Peephole 236.a	used r1 instead of ar1
	add	a,r1
	movx	@dptr,a
;	Peephole 236.g	used r0 instead of ar0
	mov	a,r0
;	Peephole 236.b	used r2 instead of ar2
	addc	a,r2
	inc	dptr
	movx	@dptr,a
00111$:
	C$main.c$438$2$4 ==.
;	../src/main.c:438: ++i;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00142$
	inc	r6
00142$:
	ljmp	00114$
00116$:
	C$main.c$441$1$1 ==.
;	../src/main.c:441: if(!valid)
;	genAssign
	mov	dptr,#_htoi_valid_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genIfx
	mov	r3,a
;	Peephole 135	removed redundant mov
	orl	a,r2
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00118$
;	Peephole 300	removed redundant label 00143$
	C$main.c$443$2$9 ==.
;	../src/main.c:443: answer = STDERR;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	mov	a,#0x1F
	movx	@dptr,a
	inc	dptr
	mov	a,#0x14
	movx	@dptr,a
00118$:
	C$main.c$446$1$1 ==.
;	../src/main.c:446: return answer;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genRet
	C$main.c$447$1$1 ==.
	XG$htoi$0$0 ==.
;	Peephole 234.b	loading dph directly from a(ccumulator), r3 not set
	mov	dpl,r2
	mov	dph,a
;	Peephole 300	removed redundant label 00119$
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'menuInvalid'
;------------------------------------------------------------
;------------------------------------------------------------
	G$menuInvalid$0$0 ==.
	C$main.c$469$1$1 ==.
;	../src/main.c:469: void menuInvalid(void) {
;	-----------------------------------------
;	 function menuInvalid
;	-----------------------------------------
_menuInvalid:
	C$main.c$470$1$1 ==.
;	../src/main.c:470: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$471$1$1 ==.
;	../src/main.c:471: putstr("Invalid Entry, Try again! \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_3
	mov	b,#0x80
	lcall	_putstr
	C$main.c$472$1$1 ==.
;	../src/main.c:472: myDelay(1);
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0001
	C$main.c$473$1$1 ==.
	XG$menuInvalid$0$0 ==.
;	Peephole 253.b	replaced lcall/ret with ljmp
	ljmp	_myDelay
;
;------------------------------------------------------------
;Allocation info for local variables in function 'printMenu'
;------------------------------------------------------------
;------------------------------------------------------------
	G$printMenu$0$0 ==.
	C$main.c$495$1$1 ==.
;	../src/main.c:495: void printMenu() {
;	-----------------------------------------
;	 function printMenu
;	-----------------------------------------
_printMenu:
	C$main.c$496$1$1 ==.
;	../src/main.c:496: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$497$1$1 ==.
;	../src/main.c:497: putstr("************************************WELCOME***********************************\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_4
	mov	b,#0x80
	lcall	_putstr
	C$main.c$498$1$1 ==.
;	../src/main.c:498: putstr("*                                                                            *\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_5
	mov	b,#0x80
	lcall	_putstr
	C$main.c$499$1$1 ==.
;	../src/main.c:499: putstr("*  This program will allow the user to use the EEPROM and control the clock  *\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_6
	mov	b,#0x80
	lcall	_putstr
	C$main.c$500$1$1 ==.
;	../src/main.c:500: putstr("*                                                                            *\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_5
	mov	b,#0x80
	lcall	_putstr
	C$main.c$501$1$1 ==.
;	../src/main.c:501: putstr("******************************************************************************\n\r\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_7
	mov	b,#0x80
	lcall	_putstr
	C$main.c$503$1$1 ==.
;	../src/main.c:503: putstr("1-> Set a pin as Input \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_8
	mov	b,#0x80
	lcall	_putstr
	C$main.c$504$1$1 ==.
;	../src/main.c:504: putstr("2-> Read Mode: Wait for a pin to change\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_9
	mov	b,#0x80
	lcall	_putstr
	C$main.c$505$1$1 ==.
;	../src/main.c:505: putstr("3-> Set a pin as Output \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	lcall	_putstr
	C$main.c$506$1$1 ==.
;	../src/main.c:506: putstr("4-> Change  state of an output pin \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_11
	mov	b,#0x80
	lcall	_putstr
	C$main.c$507$1$1 ==.
;	../src/main.c:507: putstr("5-> Read all pins immediately (Forced Read/Poll) \n\r\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_12
	mov	b,#0x80
	lcall	_putstr
	C$main.c$509$1$1 ==.
;	../src/main.c:509: putstr("******************************************************************************\n\r\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_7
	mov	b,#0x80
	lcall	_putstr
	C$main.c$511$1$1 ==.
;	../src/main.c:511: putstr("Command > ");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_13
	mov	b,#0x80
	C$main.c$512$1$1 ==.
	XG$printMenu$0$0 ==.
;	Peephole 253.b	replaced lcall/ret with ljmp
	ljmp	_putstr
;
;------------------------------------------------------------
;Allocation info for local variables in function 'getInput'
;------------------------------------------------------------
;retStr                    Allocated with name '_getInput_PARM_2'
;sz_retStr                 Allocated with name '_getInput_PARM_3'
;f_clear                   Allocated with name '_getInput_PARM_4'
;f_noWait                  Allocated with name '_getInput_PARM_5'
;prompt                    Allocated with name '_getInput_prompt_1_1'
;i                         Allocated with name '_getInput_i_1_1'
;ch                        Allocated with name '_getInput_ch_1_1'
;conv                      Allocated with name '_getInput_conv_1_1'
;sz_rc                     Allocated with name '_getInput_sz_rc_1_1'
;tmp                       Allocated with name '_getInput_tmp_1_1'
;------------------------------------------------------------
	G$getInput$0$0 ==.
	C$main.c$534$1$1 ==.
;	../src/main.c:534: int getInput(char *prompt, char *retStr, int sz_retStr, int f_clear, int f_noWait) {			/* if only C allowed parameters to have default values! sigh */
;	-----------------------------------------
;	 function getInput
;	-----------------------------------------
_getInput:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_getInput_prompt_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$540$1$1 ==.
;	../src/main.c:540: char tmp[2] = {0};
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_getInput_tmp_1_1
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	C$main.c$542$1$1 ==.
;	../src/main.c:542: if(TRUE == f_clear) {
;	genAssign
	mov	dptr,#_getInput_PARM_4
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x01,00102$
	cjne	r3,#0x00,00102$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00120$
;	Peephole 300	removed redundant label 00121$
	C$main.c$543$2$2 ==.
;	../src/main.c:543: clearScr();
;	genCall
	lcall	_clearScr
00102$:
	C$main.c$546$1$1 ==.
;	../src/main.c:546: putstr(prompt);
;	genAssign
	mov	dptr,#_getInput_prompt_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_putstr
	C$main.c$548$1$1 ==.
;	../src/main.c:548: if(TRUE == f_noWait) {
;	genAssign
	mov	dptr,#_getInput_PARM_5
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x01,00122$
	cjne	r3,#0x00,00122$
	sjmp	00123$
00122$:
	ljmp	00111$
00123$:
	C$main.c$549$2$3 ==.
;	../src/main.c:549: tmp[0] = getchar();
;	genCall
	lcall	_getchar
	mov	r2,dpl
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_getInput_tmp_1_1
	mov	a,r2
	movx	@dptr,a
	C$main.c$550$2$3 ==.
;	../src/main.c:550: conv = atoi(tmp);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_getInput_tmp_1_1
	mov	b,#0x00
	lcall	_atoi
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_getInput_conv_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
	C$main.c$551$2$3 ==.
;	../src/main.c:551: if (sz_retStr == 1) {
;	genAssign
	mov	dptr,#_getInput_PARM_3
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x01,00106$
	cjne	r3,#0x00,00106$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00124$
;	Peephole 300	removed redundant label 00125$
	C$main.c$552$3$4 ==.
;	../src/main.c:552: *retStr = tmp[0];
;	genAssign
	mov	dptr,#_getInput_PARM_2
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#_getInput_tmp_1_1
	movx	a,@dptr
;	genPointerSet
;	genGenPointerSet
	mov	r7,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
;	Peephole 191	removed redundant mov
	lcall	__gptrput
	ljmp	00112$
00106$:
	C$main.c$554$2$3 ==.
;	../src/main.c:554: else if (sz_retStr > 1) {
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0x01
	subb	a,r2
;	Peephole 159	avoided xrl during execution
	mov	a,#(0x00 ^ 0x80)
	mov	b,r3
	xrl	b,#0x80
	subb	a,b
;	genIfxJump
	jc	00126$
	ljmp	00112$
00126$:
	C$main.c$555$3$5 ==.
;	../src/main.c:555: retStr[0] = tmp[0];
;	genAssign
	mov	dptr,#_getInput_PARM_2
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#_getInput_tmp_1_1
	movx	a,@dptr
;	genPointerSet
;	genGenPointerSet
	mov	r5,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
;	Peephole 191	removed redundant mov
	lcall	__gptrput
	C$main.c$556$3$5 ==.
;	../src/main.c:556: retStr[1] = tmp[1];
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00127$
	inc	r3
00127$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_getInput_tmp_1_1 + 0x0001)
	movx	a,@dptr
;	genPointerSet
;	genGenPointerSet
	mov	r5,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
;	Peephole 191	removed redundant mov
	lcall	__gptrput
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00112$
00111$:
	C$main.c$560$2$6 ==.
;	../src/main.c:560: sz_rc = getstr(retStr);
;	genAssign
	mov	dptr,#_getInput_PARM_2
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_getstr
	mov	r2,dpl
	mov	r3,dph
	C$main.c$561$2$6 ==.
;	../src/main.c:561: if (sz_rc > sz_retStr) return EINMEM;
;	genAssign
	mov	dptr,#_getInput_PARM_3
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genCmpGt
;	genCmp
	clr	c
	mov	a,r4
	subb	a,r2
	mov	a,r5
	xrl	a,#0x80
	mov	b,r3
	xrl	b,#0x80
	subb	a,b
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00109$
;	Peephole 300	removed redundant label 00128$
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0xFFF9
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 251.b	replaced sjmp to ret with ret
	ret
00109$:
	C$main.c$562$2$6 ==.
;	../src/main.c:562: conv = atoi(retStr);
;	genAssign
	mov	dptr,#_getInput_PARM_2
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_atoi
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_getInput_conv_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
00112$:
	C$main.c$565$1$1 ==.
;	../src/main.c:565: return conv;
;	genAssign
	mov	dptr,#_getInput_conv_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genRet
	C$main.c$566$1$1 ==.
	XG$getInput$0$0 ==.
;	Peephole 234.b	loading dph directly from a(ccumulator), r3 not set
	mov	dpl,r2
	mov	dph,a
;	Peephole 300	removed redundant label 00113$
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'writeIox'
;------------------------------------------------------------
;ioxdata                   Allocated with name '_writeIox_ioxdata_1_1'
;------------------------------------------------------------
	G$writeIox$0$0 ==.
	C$main.c$568$1$1 ==.
;	../src/main.c:568: char writeIox(char ioxdata) {
;	-----------------------------------------
;	 function writeIox
;	-----------------------------------------
_writeIox:
;	genReceive
	mov	a,dpl
	mov	dptr,#_writeIox_ioxdata_1_1
	movx	@dptr,a
	C$main.c$569$1$1 ==.
;	../src/main.c:569: start();
;	genCall
	lcall	_start
	C$main.c$570$1$1 ==.
;	../src/main.c:570: if(write(IOXWRITE) == ACK) {
;	genCall
	mov	dpl,#0x40
	lcall	_write
	mov	a,dpl
;	genIfx
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00105$
;	Peephole 300	removed redundant label 00111$
	C$main.c$571$2$2 ==.
;	../src/main.c:571: if(write(ioxdata) == ACK) {
;	genAssign
	mov	dptr,#_writeIox_ioxdata_1_1
	movx	a,@dptr
;	genCall
	mov	r2,a
;	Peephole 244.c	loading dpl from a instead of r2
	mov	dpl,a
	lcall	_write
	mov	a,dpl
;	genIfx
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00102$
;	Peephole 300	removed redundant label 00112$
	C$main.c$572$3$3 ==.
;	../src/main.c:572: stop();
;	genCall
	lcall	_stop
	C$main.c$573$3$3 ==.
;	../src/main.c:573: printf("Data Written \n\r");
;	genIpush
	mov	a,#__str_14
	push	acc
	mov	a,#(__str_14 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00106$
00102$:
	C$main.c$576$3$4 ==.
;	../src/main.c:576: printf("Error writing data\n\r");
;	genIpush
	mov	a,#__str_15
	push	acc
	mov	a,#(__str_15 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$577$3$4 ==.
;	../src/main.c:577: return ERROR;
;	genRet
	mov	dpl,#0x00
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 251.b	replaced sjmp to ret with ret
	ret
00105$:
	C$main.c$581$2$5 ==.
;	../src/main.c:581: printf("Control byte failed\n\r");
;	genIpush
	mov	a,#__str_16
	push	acc
	mov	a,#(__str_16 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$582$2$5 ==.
;	../src/main.c:582: return ERROR;
;	genRet
	mov	dpl,#0x00
;	Peephole 112.b	changed ljmp to sjmp
	C$main.c$584$1$1 ==.
;	../src/main.c:584: return SUCCESS;
;	genRet
	C$main.c$585$1$1 ==.
	XG$writeIox$0$0 ==.
;	Peephole 237.a	removed sjmp to ret
	ret
00106$:
	mov	dpl,#0x01
;	Peephole 300	removed redundant label 00107$
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'ioxPrintIo'
;------------------------------------------------------------
;ioxst                     Allocated with name '_ioxPrintIo_ioxst_1_1'
;idx                       Allocated with name '_ioxPrintIo_idx_1_1'
;------------------------------------------------------------
	G$ioxPrintIo$0$0 ==.
	C$main.c$588$1$1 ==.
;	../src/main.c:588: void ioxPrintIo(unsigned char ioxst[]) {
;	-----------------------------------------
;	 function ioxPrintIo
;	-----------------------------------------
_ioxPrintIo:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_ioxPrintIo_ioxst_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$591$1$1 ==.
;	../src/main.c:591: printf("\n\r");
;	genIpush
	mov	a,#__str_17
	push	acc
	mov	a,#(__str_17 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$592$1$1 ==.
;	../src/main.c:592: putstr("Pins I/O status:\n\r\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_18
	mov	b,#0x80
	lcall	_putstr
	C$main.c$593$1$1 ==.
;	../src/main.c:593: printf("Pin: 7 6 5 4 3 2 1 0\n\r");
;	genIpush
	mov	a,#__str_19
	push	acc
	mov	a,#(__str_19 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$594$1$1 ==.
;	../src/main.c:594: printf("--------------------\n\r");
;	genIpush
	mov	a,#__str_20
	push	acc
	mov	a,#(__str_20 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$595$1$1 ==.
;	../src/main.c:595: printf("     ");
;	genIpush
	mov	a,#__str_21
	push	acc
	mov	a,#(__str_21 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$596$2$2 ==.
;	../src/main.c:596: for(idx=7;idx>=0;idx--) {
;	genAssign
	mov	dptr,#_ioxPrintIo_ioxst_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genAssign
	mov	r5,#0x07
00101$:
;	genCmpLt
;	genCmp
	mov	a,r5
;	genIfxJump
;	Peephole 108.e	removed ljmp by inverse jump logic
	jb	acc.7,00104$
;	Peephole 300	removed redundant label 00113$
	C$main.c$597$2$2 ==.
;	../src/main.c:597: ioxst[idx]==1? printf("I "):printf("O ");
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r6,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	r7,a
	mov	ar0,r4
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r6
	mov	dph,r7
	mov	b,r0
	lcall	__gptrget
	mov	r6,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r6,#0x01,00107$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00114$
;	Peephole 300	removed redundant label 00115$
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	mov	a,#__str_22
	push	acc
	mov	a,#(__str_22 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00103$
00107$:
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	mov	a,#__str_23
	push	acc
	mov	a,#(__str_23 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
00103$:
	C$main.c$596$1$1 ==.
;	../src/main.c:596: for(idx=7;idx>=0;idx--) {
;	genMinus
;	genMinusDec
	dec	r5
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00104$:
	C$main.c$599$1$1 ==.
;	../src/main.c:599: printf("\n\r");
;	genIpush
	mov	a,#__str_17
	push	acc
	mov	a,#(__str_17 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
;	Peephole 300	removed redundant label 00105$
	C$main.c$600$1$1 ==.
	XG$ioxPrintIo$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'ioxPrintData'
;------------------------------------------------------------
;ioxdata                   Allocated with name '_ioxPrintData_ioxdata_1_1'
;idx                       Allocated with name '_ioxPrintData_idx_1_1'
;ioxbit                    Allocated with name '_ioxPrintData_ioxbit_1_1'
;------------------------------------------------------------
	G$ioxPrintData$0$0 ==.
	C$main.c$603$1$1 ==.
;	../src/main.c:603: void ioxPrintData(unsigned char ioxdata) {
;	-----------------------------------------
;	 function ioxPrintData
;	-----------------------------------------
_ioxPrintData:
;	genReceive
	mov	a,dpl
	mov	dptr,#_ioxPrintData_ioxdata_1_1
	movx	@dptr,a
	C$main.c$608$1$1 ==.
;	../src/main.c:608: printf("\n\rPins Logic levels:\n\r\n\r");
;	genIpush
	mov	a,#__str_24
	push	acc
	mov	a,#(__str_24 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$609$1$1 ==.
;	../src/main.c:609: printf("Pin: 7 6 5 4 3 2 1 0\n\r");
;	genIpush
	mov	a,#__str_19
	push	acc
	mov	a,#(__str_19 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$610$1$1 ==.
;	../src/main.c:610: printf("--------------------\n\r");
;	genIpush
	mov	a,#__str_20
	push	acc
	mov	a,#(__str_20 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$611$1$1 ==.
;	../src/main.c:611: printf("     ");
;	genIpush
	mov	a,#__str_21
	push	acc
	mov	a,#(__str_21 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$612$2$2 ==.
;	../src/main.c:612: for(idx=7;idx>=0;idx--) {
;	genAssign
	mov	dptr,#_ioxPrintData_ioxdata_1_1
	movx	a,@dptr
	mov	r2,a
;	genAssign
	mov	r3,#0x07
00101$:
;	genCmpLt
;	genCmp
	mov	a,r3
;	genIfxJump
;	Peephole 108.e	removed ljmp by inverse jump logic
	jb	acc.7,00104$
;	Peephole 300	removed redundant label 00113$
	C$main.c$613$2$2 ==.
;	../src/main.c:613: ioxbit = (ioxdata >> idx) & (0x01);
;	genRightShift
	mov	b,r3
	inc	b
	mov	a,r2
	sjmp	00115$
00114$:
	clr	c
	rrc	a
00115$:
	djnz	b,00114$
;	genAnd
	anl	a,#0x01
	mov	r4,a
	C$main.c$614$2$2 ==.
;	../src/main.c:614: (ioxbit==1) ? printf("1 ") : printf("0 ");
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r4,#0x01,00107$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00116$
;	Peephole 300	removed redundant label 00117$
;	genIpush
	push	ar2
	push	ar3
	mov	a,#__str_25
	push	acc
	mov	a,#(__str_25 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	pop	ar3
	pop	ar2
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00103$
00107$:
;	genIpush
	push	ar2
	push	ar3
	mov	a,#__str_26
	push	acc
	mov	a,#(__str_26 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	pop	ar3
	pop	ar2
00103$:
	C$main.c$612$1$1 ==.
;	../src/main.c:612: for(idx=7;idx>=0;idx--) {
;	genMinus
;	genMinusDec
	dec	r3
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00104$:
	C$main.c$616$1$1 ==.
;	../src/main.c:616: printf("\n\r");
;	genIpush
	mov	a,#__str_17
	push	acc
	mov	a,#(__str_17 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
;	Peephole 300	removed redundant label 00105$
	C$main.c$617$1$1 ==.
	XG$ioxPrintData$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'readIox'
;------------------------------------------------------------
;read_byte                 Allocated with name '_readIox_read_byte_1_1'
;------------------------------------------------------------
	G$readIox$0$0 ==.
	C$main.c$619$1$1 ==.
;	../src/main.c:619: unsigned char readIox(void) {
;	-----------------------------------------
;	 function readIox
;	-----------------------------------------
_readIox:
	C$main.c$621$1$1 ==.
;	../src/main.c:621: unsigned char read_byte = 0;
;	genAssign
	mov	dptr,#_readIox_read_byte_1_1
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	C$main.c$623$1$1 ==.
;	../src/main.c:623: start();
;	genCall
	lcall	_start
	C$main.c$624$1$1 ==.
;	../src/main.c:624: if(write(IOXREAD) == ACK) {
;	genCall
	mov	dpl,#0x41
	lcall	_write
	mov	a,dpl
;	genIfx
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00102$
;	Peephole 300	removed redundant label 00106$
	C$main.c$625$2$2 ==.
;	../src/main.c:625: read_byte = read(NACK);
;	genCall
	mov	dpl,#0x01
	lcall	_read
	mov	a,dpl
;	genAssign
	mov	dptr,#_readIox_read_byte_1_1
	movx	@dptr,a
	C$main.c$626$2$2 ==.
;	../src/main.c:626: stop();
;	genCall
	lcall	_stop
00102$:
	C$main.c$628$1$1 ==.
;	../src/main.c:628: return read_byte;
;	genAssign
	mov	dptr,#_readIox_read_byte_1_1
	movx	a,@dptr
;	genRet
	C$main.c$629$1$1 ==.
	XG$readIox$0$0 ==.
;	Peephole 234.a	loading dpl directly from a(ccumulator), r2 not set
	mov	dpl,a
;	Peephole 300	removed redundant label 00103$
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'int0_ISR'
;------------------------------------------------------------
;------------------------------------------------------------
	G$int0_ISR$0$0 ==.
	C$main.c$631$1$1 ==.
;	../src/main.c:631: void int0_ISR(void) __interrupt(IE0_VECTOR) {
;	-----------------------------------------
;	 function int0_ISR
;	-----------------------------------------
_int0_ISR:
	push	acc
	push	b
	push	dpl
	push	dph
	push	(0+2)
	push	(0+3)
	push	(0+4)
	push	(0+5)
	push	(0+6)
	push	(0+7)
	push	(0+0)
	push	(0+1)
	push	psw
	mov	psw,#0x00
	C$main.c$633$1$1 ==.
;	../src/main.c:633: g_ioxData=0;
;	genAssign
	mov	dptr,#_g_ioxData
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	C$main.c$634$1$1 ==.
;	../src/main.c:634: EA=0;
;	genAssign
	clr	_EA
	C$main.c$637$1$1 ==.
;	../src/main.c:637: start();
;	genCall
	lcall	_start
	C$main.c$638$1$1 ==.
;	../src/main.c:638: if(write(IOXREAD) == ACK) {
;	genCall
	mov	dpl,#0x41
	lcall	_write
	mov	a,dpl
;	genIfx
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00102$
;	Peephole 300	removed redundant label 00106$
	C$main.c$639$2$2 ==.
;	../src/main.c:639: g_ioxData = read(NACK);
;	genCall
	mov	dpl,#0x01
	lcall	_read
	mov	a,dpl
;	genAssign
	mov	dptr,#_g_ioxData
	movx	@dptr,a
	C$main.c$640$2$2 ==.
;	../src/main.c:640: stop();
;	genCall
	lcall	_stop
00102$:
	C$main.c$643$1$1 ==.
;	../src/main.c:643: EA=1;
;	genAssign
	setb	_EA
	C$main.c$644$1$1 ==.
;	../src/main.c:644: f_intRecvd = TRUE;
;	genAssign
	mov	dptr,#_f_intRecvd
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	Peephole 300	removed redundant label 00103$
	pop	psw
	pop	(0+1)
	pop	(0+0)
	pop	(0+7)
	pop	(0+6)
	pop	(0+5)
	pop	(0+4)
	pop	(0+3)
	pop	(0+2)
	pop	dph
	pop	dpl
	pop	b
	pop	acc
	C$main.c$645$1$1 ==.
	XG$int0_ISR$0$0 ==.
	reti
;------------------------------------------------------------
;Allocation info for local variables in function 'main'
;------------------------------------------------------------
;cmd                       Allocated with name '_main_cmd_1_1'
;i                         Allocated with name '_main_i_1_1'
;ioxMask0                  Allocated with name '_main_ioxMask0_1_1'
;ioxMask1                  Allocated with name '_main_ioxMask1_1_1'
;ioxState                  Allocated with name '_main_ioxState_1_1'
;ipString                  Allocated with name '_main_ipString_1_1'
;ipStringLarge             Allocated with name '_main_ipStringLarge_1_1'
;ipChar                    Allocated with name '_main_ipChar_1_1'
;ipInt                     Allocated with name '_main_ipInt_1_1'
;ret                       Allocated with name '_main_ret_1_1'
;ioxPin                    Allocated with name '_main_ioxPin_1_1'
;------------------------------------------------------------
	G$main$0$0 ==.
	C$main.c$649$1$1 ==.
;	../src/main.c:649: void main() {
;	-----------------------------------------
;	 function main
;	-----------------------------------------
_main:
	C$main.c$654$1$1 ==.
;	../src/main.c:654: const unsigned char ioxMask0[IOXSIZE]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_main_ioxMask0_1_1
	mov	a,#0x01
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask0_1_1 + 0x0001)
	mov	a,#0x02
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask0_1_1 + 0x0002)
	mov	a,#0x04
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask0_1_1 + 0x0003)
	mov	a,#0x08
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask0_1_1 + 0x0004)
	mov	a,#0x10
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask0_1_1 + 0x0005)
	mov	a,#0x20
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask0_1_1 + 0x0006)
	mov	a,#0x40
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask0_1_1 + 0x0007)
	mov	a,#0x80
	movx	@dptr,a
	C$main.c$655$1$1 ==.
;	../src/main.c:655: const unsigned char ioxMask1[IOXSIZE]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_main_ioxMask1_1_1
	mov	a,#0xFE
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask1_1_1 + 0x0001)
	mov	a,#0xFD
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask1_1_1 + 0x0002)
	mov	a,#0xFB
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask1_1_1 + 0x0003)
	mov	a,#0xF7
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask1_1_1 + 0x0004)
	mov	a,#0xEF
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask1_1_1 + 0x0005)
	mov	a,#0xDF
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask1_1_1 + 0x0006)
	mov	a,#0xBF
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_ioxMask1_1_1 + 0x0007)
	mov	a,#0x7F
	movx	@dptr,a
	C$main.c$657$1$1 ==.
;	../src/main.c:657: unsigned char ioxState[IOXSIZE] = {0};
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_main_ioxState_1_1
;	Peephole 181	changed mov to clr
	C$main.c$659$1$1 ==.
;	../src/main.c:659: char ipString[6] = {0};
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
;	Peephole 219.a	removed redundant clear
	C$main.c$660$1$1 ==.
;	../src/main.c:660: char ipStringLarge[100] = {0};
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	C$main.c$661$1$1 ==.
;	../src/main.c:661: unsigned char ipChar = 0;
;	genAssign
;	Peephole 181	changed mov to clr
;	Peephole 219.a	removed redundant clear
	clr	a
	movx	@dptr,a
	mov	dptr,#_main_ipString_1_1
	movx	@dptr,a
	mov	dptr,#_main_ipStringLarge_1_1
;	Peephole 219.b	removed redundant clear
	movx	@dptr,a
	mov	dptr,#_main_ipChar_1_1
	movx	@dptr,a
	C$main.c$666$1$1 ==.
;	../src/main.c:666: serialInit(0xFF); 						//0xFF gives Baud Rate 57600
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x00FF
	lcall	_serialInit
	C$main.c$667$1$1 ==.
;	../src/main.c:667: initAll();
;	genCall
	lcall	_initAll
	C$main.c$668$1$1 ==.
;	../src/main.c:668: lcdinit();
;	genCall
	lcall	_lcdinit
	C$main.c$670$1$1 ==.
;	../src/main.c:670: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$671$1$1 ==.
;	../src/main.c:671: P1_7 = ON;								//turn on LED
;	genAssign
	setb	_P1_7
	C$main.c$672$1$1 ==.
;	../src/main.c:672: clrLcd ();
;	genCall
	lcall	_clrLcd
	C$main.c$673$1$1 ==.
;	../src/main.c:673: lcdputstr("LCD INITIALIZED ");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_27
	mov	b,#0x80
	lcall	_lcdputstr
	C$main.c$674$1$1 ==.
;	../src/main.c:674: printf("Initializing all IO Expander pins as Output (HIGH)\n\r");
;	genIpush
	mov	a,#__str_28
	push	acc
	mov	a,#(__str_28 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$675$1$1 ==.
;	../src/main.c:675: TCON = TCON | 0x01;						//Make INT0 Edge Triggered
;	genOr
	orl	_TCON,#0x01
	C$main.c$676$1$1 ==.
;	../src/main.c:676: EA=1;
;	genAssign
	setb	_EA
	C$main.c$677$1$1 ==.
;	../src/main.c:677: if(writeIox(0xFF) == SUCCESS) {
;	genCall
	mov	dpl,#0xFF
	lcall	_writeIox
	mov	r2,dpl
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r2,#0x01,00102$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00178$
;	Peephole 300	removed redundant label 00179$
	C$main.c$678$2$2 ==.
;	../src/main.c:678: printf("Initializing all IO Expander pins as Output (HIGH)\n\r");
;	genIpush
	mov	a,#__str_28
	push	acc
	mov	a,#(__str_28 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$679$1$1 ==.
;	../src/main.c:679: for(i=0; i<IOXSIZE; i++) {
;	genAssign
	mov	r2,#0x00
	mov	r3,#0x00
00147$:
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r2
	subb	a,#0x08
	mov	a,r3
	xrl	a,#0x80
	subb	a,#0x80
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00145$
;	Peephole 300	removed redundant label 00180$
	C$main.c$680$3$3 ==.
;	../src/main.c:680: ioxState[i] = IOXOUTPUT;
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxState_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxState_1_1 >> 8)
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	C$main.c$679$2$2 ==.
;	../src/main.c:679: for(i=0; i<IOXSIZE; i++) {
;	genPlus
;     genPlusIncr
;	tail increment optimized (range 5)
	inc	r2
	cjne	r2,#0x00,00147$
	inc	r3
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00147$
00102$:
	C$main.c$684$1$1 ==.
;	../src/main.c:684: printf("Error: Unable to communicate with IOX\n\r");
;	genIpush
	mov	a,#__str_29
	push	acc
	mov	a,#(__str_29 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$686$1$1 ==.
;	../src/main.c:686: while (1) {
00145$:
	C$main.c$687$2$4 ==.
;	../src/main.c:687: printMenu();
;	genCall
	lcall	_printMenu
	C$main.c$688$2$4 ==.
;	../src/main.c:688: cmd = getchar();
;	genCall
	lcall	_getchar
	C$main.c$689$2$4 ==.
;	../src/main.c:689: putchar(cmd);
;	genCall
	mov  r2,dpl
;	Peephole 177.a	removed redundant mov
	push	ar2
	lcall	_putchar
	pop	ar2
	C$main.c$691$2$4 ==.
;	../src/main.c:691: switch (cmd) {
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x31,00181$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00104$
00181$:
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x32,00182$
	ljmp	00109$
00182$:
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x33,00183$
	ljmp	00115$
00183$:
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x34,00184$
	ljmp	00127$
00184$:
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x35,00185$
	ljmp	00141$
00185$:
	ljmp	00142$
	C$main.c$692$3$5 ==.
;	../src/main.c:692: case '1': //set pin input
00104$:
	C$main.c$693$3$5 ==.
;	../src/main.c:693: ioxPin = getInput("\n\rPin # (0-7) > ", &ipChar, 1, TRUE, TRUE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipChar_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipChar_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_30
	mov	b,#0x80
	lcall	_getInput
	mov	r2,dpl
	mov	r3,dph
	C$main.c$695$3$5 ==.
;	../src/main.c:695: if (ioxPin > 7) {
;	genAssign
	mov	ar4,r2
	mov	ar5,r3
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0x07
	subb	a,r4
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r5
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00106$
;	Peephole 300	removed redundant label 00186$
	C$main.c$696$4$6 ==.
;	../src/main.c:696: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$697$4$6 ==.
;	../src/main.c:697: break;
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00145$
00106$:
	C$main.c$700$3$5 ==.
;	../src/main.c:700: ret = readIox();
;	genCall
	push	ar2
	push	ar3
	lcall	_readIox
	mov	r4,dpl
	pop	ar3
	pop	ar2
	C$main.c$701$3$5 ==.
;	../src/main.c:701: if((writeIox(ret | ioxMask0[ioxPin])) == SUCCESS) {
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxMask0_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxMask0_1_1 >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
;	genOr
	mov	r5,a
;	Peephole 105	removed redundant mov
	orl	ar4,a
;	genCall
	mov	dpl,r4
	push	ar2
	push	ar3
	lcall	_writeIox
	mov	r4,dpl
	pop	ar3
	pop	ar2
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r4,#0x01,00108$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00187$
;	Peephole 300	removed redundant label 00188$
	C$main.c$702$4$7 ==.
;	../src/main.c:702: printf("Port Pin %d Set\n\r", ioxPin);
;	genIpush
	push	ar2
	push	ar3
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_31
	push	acc
	mov	a,#(__str_31 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar3
	pop	ar2
00108$:
	C$main.c$705$3$5 ==.
;	../src/main.c:705: ioxState[ioxPin] = IOXINPUT;
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxState_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxState_1_1 >> 8)
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
	mov	a,#0x01
	movx	@dptr,a
	C$main.c$706$3$5 ==.
;	../src/main.c:706: ioxPrintIo(ioxState);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_ioxState_1_1
	mov	b,#0x00
	lcall	_ioxPrintIo
	C$main.c$708$3$5 ==.
;	../src/main.c:708: getchar();
;	genCall
	lcall	_getchar
	C$main.c$709$3$5 ==.
;	../src/main.c:709: break;
	ljmp	00145$
	C$main.c$711$3$5 ==.
;	../src/main.c:711: case '2': //read pin using interrupt
00109$:
	C$main.c$712$3$5 ==.
;	../src/main.c:712: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$713$3$5 ==.
;	../src/main.c:713: putstr("Waiting for pin to change state \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_32
	mov	b,#0x80
	lcall	_putstr
	C$main.c$714$3$5 ==.
;	../src/main.c:714: while(1) {
00113$:
	C$main.c$715$4$8 ==.
;	../src/main.c:715: IE |= 0x01 ;							//Enable EX0
;	genOr
	orl	_IE,#0x01
	C$main.c$716$4$8 ==.
;	../src/main.c:716: if(f_intRecvd == TRUE) {
;	genAssign
	mov	dptr,#_f_intRecvd
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x01,00113$
	cjne	r3,#0x00,00113$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00189$
;	Peephole 300	removed redundant label 00190$
	C$main.c$717$5$9 ==.
;	../src/main.c:717: IE &= 0xFE ;						//Disable EX0
;	genAnd
	anl	_IE,#0xFE
	C$main.c$718$5$9 ==.
;	../src/main.c:718: f_intRecvd = FALSE;
;	genAssign
	mov	dptr,#_f_intRecvd
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$722$3$5 ==.
;	../src/main.c:722: printf("Port Status: %0x%02X \n\r", g_ioxData);
;	genAssign
	mov	dptr,#_g_ioxData
	movx	a,@dptr
	mov	r2,a
;	genCast
	mov	r3,#0x00
;	genIpush
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_33
	push	acc
	mov	a,#(__str_33 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	C$main.c$723$3$5 ==.
;	../src/main.c:723: ioxPrintData(g_ioxData);
;	genAssign
	mov	dptr,#_g_ioxData
	movx	a,@dptr
;	genCall
	mov	r2,a
;	Peephole 244.c	loading dpl from a instead of r2
	mov	dpl,a
	lcall	_ioxPrintData
	C$main.c$725$3$5 ==.
;	../src/main.c:725: getchar();
;	genCall
	lcall	_getchar
	C$main.c$726$3$5 ==.
;	../src/main.c:726: break;
	ljmp	00145$
	C$main.c$728$3$5 ==.
;	../src/main.c:728: case '3': //set pin as output and set initial value
00115$:
	C$main.c$729$3$5 ==.
;	../src/main.c:729: ioxPin = getInput("\n\rPin # (0-7) > ", &ipChar, 1, TRUE, TRUE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipChar_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipChar_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_30
	mov	b,#0x80
	lcall	_getInput
	mov	r2,dpl
	mov	r3,dph
	C$main.c$730$3$5 ==.
;	../src/main.c:730: if (ioxPin > 7) {
;	genAssign
	mov	ar4,r2
	mov	ar5,r3
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0x07
	subb	a,r4
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r5
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00117$
;	Peephole 300	removed redundant label 00191$
	C$main.c$731$4$10 ==.
;	../src/main.c:731: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$732$4$10 ==.
;	../src/main.c:732: break;
	ljmp	00145$
00117$:
	C$main.c$734$3$5 ==.
;	../src/main.c:734: ipInt = getInput("\n\rInitial Value to write (0-1) > ", &ipChar, 1, TRUE, TRUE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipChar_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipChar_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_34
	mov	b,#0x80
	push	ar2
	push	ar3
	lcall	_getInput
	mov	r4,dpl
	mov	r5,dph
	pop	ar3
	pop	ar2
	C$main.c$735$3$5 ==.
;	../src/main.c:735: if (ipInt > 1) {
;	genAssign
	mov	ar6,r4
	mov	ar7,r5
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0x01
	subb	a,r6
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r7
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00119$
;	Peephole 300	removed redundant label 00192$
	C$main.c$736$4$11 ==.
;	../src/main.c:736: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$737$4$11 ==.
;	../src/main.c:737: break;
	ljmp	00145$
00119$:
	C$main.c$740$3$5 ==.
;	../src/main.c:740: ioxState[ioxPin] = IOXOUTPUT;
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxState_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxState_1_1 >> 8)
	mov	dph,a
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	C$main.c$741$3$5 ==.
;	../src/main.c:741: ioxPrintIo(ioxState);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_ioxState_1_1
	mov	b,#0x00
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	lcall	_ioxPrintIo
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$743$3$5 ==.
;	../src/main.c:743: ret = readIox();
;	genCall
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	lcall	_readIox
	mov	r6,dpl
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$744$3$5 ==.
;	../src/main.c:744: if (ipInt == 1) {
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r4,#0x01,00125$
	cjne	r5,#0x00,00125$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00193$
;	Peephole 300	removed redundant label 00194$
	C$main.c$745$4$12 ==.
;	../src/main.c:745: if((writeIox(ret | ioxMask0[ioxPin])) == SUCCESS) {
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxMask0_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxMask0_1_1 >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r4,a
;	genOr
	mov	a,r6
	orl	ar4,a
;	genCall
	mov	dpl,r4
	push	ar2
	push	ar3
	lcall	_writeIox
	mov	r4,dpl
	pop	ar3
	pop	ar2
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r4,#0x01,00126$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00195$
;	Peephole 300	removed redundant label 00196$
	C$main.c$746$5$13 ==.
;	../src/main.c:746: printf("Port Pin %d Set\n\r", ioxPin);
;	genIpush
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_31
	push	acc
	mov	a,#(__str_31 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00126$
00125$:
	C$main.c$750$4$14 ==.
;	../src/main.c:750: if((writeIox(ret & ioxMask1[ioxPin])) == SUCCESS) {
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxMask1_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxMask1_1_1 >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
;	genAnd
	mov	r4,a
;	Peephole 105	removed redundant mov
	anl	ar6,a
;	genCall
	mov	dpl,r6
	push	ar2
	push	ar3
	lcall	_writeIox
	mov	r4,dpl
	pop	ar3
	pop	ar2
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r4,#0x01,00126$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00197$
;	Peephole 300	removed redundant label 00198$
	C$main.c$751$5$15 ==.
;	../src/main.c:751: printf("Port Pin %d Cleared\n\r", ioxPin);
;	genIpush
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_35
	push	acc
	mov	a,#(__str_35 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
00126$:
	C$main.c$754$3$5 ==.
;	../src/main.c:754: getchar();
;	genCall
	lcall	_getchar
	C$main.c$755$3$5 ==.
;	../src/main.c:755: break;
	ljmp	00145$
	C$main.c$757$3$5 ==.
;	../src/main.c:757: case '4': //change value of an output pin
00127$:
	C$main.c$758$3$5 ==.
;	../src/main.c:758: ioxPin = getInput("\n\rPin # (0-7) > ", &ipChar, 1, TRUE, TRUE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipChar_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipChar_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_30
	mov	b,#0x80
	lcall	_getInput
	mov	r2,dpl
	mov	r3,dph
	C$main.c$759$3$5 ==.
;	../src/main.c:759: if (ioxPin > 7) {
;	genAssign
	mov	ar4,r2
	mov	ar5,r3
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0x07
	subb	a,r4
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r5
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00129$
;	Peephole 300	removed redundant label 00199$
	C$main.c$760$4$16 ==.
;	../src/main.c:760: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$761$4$16 ==.
;	../src/main.c:761: break;
	ljmp	00145$
00129$:
	C$main.c$763$3$5 ==.
;	../src/main.c:763: if (ioxState[ioxPin] != IOXOUTPUT) {
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxState_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxState_1_1 >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
	mov	r4,a
;	Peephole 115.b	jump optimization
	jz	00131$
;	Peephole 300	removed redundant label 00200$
	C$main.c$764$4$17 ==.
;	../src/main.c:764: putstr("Pin not set as output, will not write.\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_36
	mov	b,#0x80
	lcall	_putstr
	C$main.c$765$4$17 ==.
;	../src/main.c:765: putstr("Press any key to go back\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_37
	mov	b,#0x80
	lcall	_putstr
	C$main.c$766$4$17 ==.
;	../src/main.c:766: getchar();
;	genCall
	lcall	_getchar
	C$main.c$767$4$17 ==.
;	../src/main.c:767: break;
	ljmp	00145$
00131$:
	C$main.c$769$3$5 ==.
;	../src/main.c:769: ipInt = getInput("\n\rInitial Value to write (0-1) > ", &ipChar, 1, TRUE, TRUE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipChar_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipChar_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_34
	mov	b,#0x80
	push	ar2
	push	ar3
	lcall	_getInput
	mov	r4,dpl
	mov	r5,dph
	pop	ar3
	pop	ar2
	C$main.c$770$3$5 ==.
;	../src/main.c:770: if (ipInt > 1) {
;	genAssign
	mov	ar6,r4
	mov	ar7,r5
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0x01
	subb	a,r6
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r7
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00133$
;	Peephole 300	removed redundant label 00201$
	C$main.c$771$4$18 ==.
;	../src/main.c:771: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$772$4$18 ==.
;	../src/main.c:772: break;
	ljmp	00145$
00133$:
	C$main.c$775$3$5 ==.
;	../src/main.c:775: ret = readIox();
;	genCall
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	lcall	_readIox
	mov	r6,dpl
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$776$3$5 ==.
;	../src/main.c:776: if (ipInt == 1) {
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r4,#0x01,00139$
	cjne	r5,#0x00,00139$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00202$
;	Peephole 300	removed redundant label 00203$
	C$main.c$777$4$19 ==.
;	../src/main.c:777: if((writeIox(ret | ioxMask0[ioxPin])) == SUCCESS) {
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxMask0_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxMask0_1_1 >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
	mov	r4,a
;	genOr
	mov	a,r6
	orl	ar4,a
;	genCall
	mov	dpl,r4
	push	ar2
	push	ar3
	lcall	_writeIox
	mov	r4,dpl
	pop	ar3
	pop	ar2
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r4,#0x01,00140$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00204$
;	Peephole 300	removed redundant label 00205$
	C$main.c$778$5$20 ==.
;	../src/main.c:778: printf("Port Pin %d Set\n\r", ioxPin);
;	genIpush
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_31
	push	acc
	mov	a,#(__str_31 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00140$
00139$:
	C$main.c$782$4$21 ==.
;	../src/main.c:782: if((writeIox(ret & ioxMask1[ioxPin])) == SUCCESS) {
;	genPlus
;	Peephole 236.g	used r2 instead of ar2
	mov	a,r2
	add	a,#_main_ioxMask1_1_1
	mov	dpl,a
;	Peephole 236.g	used r3 instead of ar3
	mov	a,r3
	addc	a,#(_main_ioxMask1_1_1 >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
;	genAnd
	mov	r4,a
;	Peephole 105	removed redundant mov
	anl	ar6,a
;	genCall
	mov	dpl,r6
	push	ar2
	push	ar3
	lcall	_writeIox
	mov	r4,dpl
	pop	ar3
	pop	ar2
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r4,#0x01,00140$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00206$
;	Peephole 300	removed redundant label 00207$
	C$main.c$783$5$22 ==.
;	../src/main.c:783: printf("Port Pin %d Cleared\n\r", ioxPin);
;	genIpush
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_35
	push	acc
	mov	a,#(__str_35 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
00140$:
	C$main.c$786$3$5 ==.
;	../src/main.c:786: getchar();
;	genCall
	lcall	_getchar
	C$main.c$788$3$5 ==.
;	../src/main.c:788: break;
	ljmp	00145$
	C$main.c$790$3$5 ==.
;	../src/main.c:790: case '5':
00141$:
	C$main.c$791$3$5 ==.
;	../src/main.c:791: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$792$3$5 ==.
;	../src/main.c:792: putstr("Port is: ");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_38
	mov	b,#0x80
	lcall	_putstr
	C$main.c$793$3$5 ==.
;	../src/main.c:793: ioxPrintData(readIox());
;	genCall
	lcall	_readIox
;	genCall
	mov  r2,dpl
;	Peephole 177.a	removed redundant mov
	lcall	_ioxPrintData
	C$main.c$794$3$5 ==.
;	../src/main.c:794: getchar();
;	genCall
	lcall	_getchar
	C$main.c$795$3$5 ==.
;	../src/main.c:795: break;
	ljmp	00145$
	C$main.c$797$3$5 ==.
;	../src/main.c:797: default:
00142$:
	C$main.c$798$3$5 ==.
;	../src/main.c:798: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$799$1$1 ==.
;	../src/main.c:799: }
	C$main.c$801$1$1 ==.
	XG$main$0$0 ==.
	ljmp	00145$
;	Peephole 259.b	removed redundant label 00151$ and ret
;
	.area CSEG    (CODE)
	.area CONST   (CODE)
Fmain$_str_0$0$0 == .
__str_0:
	.db 0x1B
	.ascii "c"
	.db 0x00
Fmain$_str_1$0$0 == .
__str_1:
	.db 0x1B
	.ascii "[2J"
	.db 0x00
Fmain$_str_3$0$0 == .
__str_3:
	.ascii "Invalid Entry, Try again! "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_4$0$0 == .
__str_4:
	.ascii "************************************WELCOME*****************"
	.ascii "******************"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_5$0$0 == .
__str_5:
	.ascii "*                                                           "
	.ascii "                 *"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_6$0$0 == .
__str_6:
	.ascii "*  This program will allow the user to use the EEPROM and co"
	.ascii "ntrol the clock  *"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_7$0$0 == .
__str_7:
	.ascii "************************************************************"
	.ascii "******************"
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_8$0$0 == .
__str_8:
	.ascii "1-> Set a pin as Input "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_9$0$0 == .
__str_9:
	.ascii "2-> Read Mode: Wait for a pin to change"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_10$0$0 == .
__str_10:
	.ascii "3-> Set a pin as Output "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_11$0$0 == .
__str_11:
	.ascii "4-> Change  state of an output pin "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_12$0$0 == .
__str_12:
	.ascii "5-> Read all pins immediately (Forced Read/Poll) "
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_13$0$0 == .
__str_13:
	.ascii "Command > "
	.db 0x00
Fmain$_str_14$0$0 == .
__str_14:
	.ascii "Data Written "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_15$0$0 == .
__str_15:
	.ascii "Error writing data"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_16$0$0 == .
__str_16:
	.ascii "Control byte failed"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_17$0$0 == .
__str_17:
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_18$0$0 == .
__str_18:
	.ascii "Pins I/O status:"
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_19$0$0 == .
__str_19:
	.ascii "Pin: 7 6 5 4 3 2 1 0"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_20$0$0 == .
__str_20:
	.ascii "--------------------"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_21$0$0 == .
__str_21:
	.ascii "     "
	.db 0x00
Fmain$_str_22$0$0 == .
__str_22:
	.ascii "I "
	.db 0x00
Fmain$_str_23$0$0 == .
__str_23:
	.ascii "O "
	.db 0x00
Fmain$_str_24$0$0 == .
__str_24:
	.db 0x0A
	.db 0x0D
	.ascii "Pins Logic levels:"
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_25$0$0 == .
__str_25:
	.ascii "1 "
	.db 0x00
Fmain$_str_26$0$0 == .
__str_26:
	.ascii "0 "
	.db 0x00
Fmain$_str_27$0$0 == .
__str_27:
	.ascii "LCD INITIALIZED "
	.db 0x00
Fmain$_str_28$0$0 == .
__str_28:
	.ascii "Initializing all IO Expander pins as Output (HIGH)"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_29$0$0 == .
__str_29:
	.ascii "Error: Unable to communicate with IOX"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_30$0$0 == .
__str_30:
	.db 0x0A
	.db 0x0D
	.ascii "Pin # (0-7) > "
	.db 0x00
Fmain$_str_31$0$0 == .
__str_31:
	.ascii "Port Pin %d Set"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_32$0$0 == .
__str_32:
	.ascii "Waiting for pin to change state "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_33$0$0 == .
__str_33:
	.ascii "Port Status: %0x%02X "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_34$0$0 == .
__str_34:
	.db 0x0A
	.db 0x0D
	.ascii "Initial Value to write (0-1) > "
	.db 0x00
Fmain$_str_35$0$0 == .
__str_35:
	.ascii "Port Pin %d Cleared"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_36$0$0 == .
__str_36:
	.ascii "Pin not set as output, will not write."
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_37$0$0 == .
__str_37:
	.ascii "Press any key to go back"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_38$0$0 == .
__str_38:
	.ascii "Port is: "
	.db 0x00
	.area XINIT   (CODE)
Fmain$__xinit_f_intRecvd$0$0 == .
__xinit__f_intRecvd:
	.byte #0x00,#0x00
Fmain$__xinit_g_ioxData$0$0 == .
__xinit__g_ioxData:
	.db #0x00
